diff --git a/bin/game/Board.class b/bin/game/Board.class index 8709e30..154bf93 100644 Binary files a/bin/game/Board.class and b/bin/game/Board.class differ diff --git a/bin/game/Command.class b/bin/game/Command.class index 2787f9f..4e0d40b 100644 Binary files a/bin/game/Command.class and b/bin/game/Command.class differ diff --git a/bin/game/Joueur.class b/bin/game/Joueur.class index 531cbf8..2a7ad1f 100644 Binary files a/bin/game/Joueur.class and b/bin/game/Joueur.class differ diff --git a/bin/game/Match.class b/bin/game/Match.class index 922bae7..20822ba 100644 Binary files a/bin/game/Match.class and b/bin/game/Match.class differ diff --git a/bin/game/PlayerTesteur.class b/bin/game/PlayerTesteur.class index 3453475..cd5581a 100644 Binary files a/bin/game/PlayerTesteur.class and b/bin/game/PlayerTesteur.class differ diff --git a/bin/game/SimpleUDP.class b/bin/game/SimpleUDP.class deleted file mode 100644 index cd41b78..0000000 Binary files a/bin/game/SimpleUDP.class and /dev/null differ diff --git a/bin/game/cards/Card.class b/bin/game/cards/Card.class index 4ab2415..919b78c 100644 Binary files a/bin/game/cards/Card.class and b/bin/game/cards/Card.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class b/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class index 33780d5..9e7c1fd 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class and b/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class b/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class index c2a40ed..d388bc0 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class and b/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class b/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class index 45b188d..6f0d031 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class and b/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class b/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class index 14a2800..3648844 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class and b/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Christine.class b/bin/game/cards/MoyenAge/Moyen_Age_Christine.class index 04f1b5f..4cdc882 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Christine.class and b/bin/game/cards/MoyenAge/Moyen_Age_Christine.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class b/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class index 9621baa..d20ed9c 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class and b/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class b/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class index d19a93b..e17773e 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class and b/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class b/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class index 66ec0e4..b6061b5 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class and b/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class b/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class index c633e3d..f53cf81 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class and b/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Guerre_100.class b/bin/game/cards/MoyenAge/Moyen_Age_Guerre_100.class index 114eafa..fd2f3db 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Guerre_100.class and b/bin/game/cards/MoyenAge/Moyen_Age_Guerre_100.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Guillaume.class b/bin/game/cards/MoyenAge/Moyen_Age_Guillaume.class index d5a64e2..eff0cd2 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Guillaume.class and b/bin/game/cards/MoyenAge/Moyen_Age_Guillaume.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class b/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class index 28e98d2..fe0d3eb 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class and b/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Hugue.class b/bin/game/cards/MoyenAge/Moyen_Age_Hugue.class index fa0ab95..3af66e0 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Hugue.class and b/bin/game/cards/MoyenAge/Moyen_Age_Hugue.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class b/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class index e0349be..cff1d72 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class and b/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Jean.class b/bin/game/cards/MoyenAge/Moyen_Age_Jean.class index f38c3d2..e203520 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Jean.class and b/bin/game/cards/MoyenAge/Moyen_Age_Jean.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class b/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class index 9efe35c..f4a2d09 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class and b/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class b/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class index 1c9685a..6c345a0 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class and b/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Louis.class b/bin/game/cards/MoyenAge/Moyen_Age_Louis.class index 7345e7a..0c81fd9 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Louis.class and b/bin/game/cards/MoyenAge/Moyen_Age_Louis.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Malediction_Templier.class b/bin/game/cards/MoyenAge/Moyen_Age_Malediction_Templier.class index a1ffeb1..0aefcec 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Malediction_Templier.class and b/bin/game/cards/MoyenAge/Moyen_Age_Malediction_Templier.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Peste.class b/bin/game/cards/MoyenAge/Moyen_Age_Peste.class index e290bb5..cdd78fd 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Peste.class and b/bin/game/cards/MoyenAge/Moyen_Age_Peste.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class b/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class index a5bd9de..b68c4f0 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class and b/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class b/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class index 84cfe3c..25048e6 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class and b/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class b/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class index 0670f9a..4a5a51b 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class and b/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Pierre.class b/bin/game/cards/MoyenAge/Moyen_Age_Pierre.class index e84c161..3ae60eb 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Pierre.class and b/bin/game/cards/MoyenAge/Moyen_Age_Pierre.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Pierre_Ermite.class b/bin/game/cards/MoyenAge/Moyen_Age_Pierre_Ermite.class index 30ba319..2da6475 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Pierre_Ermite.class and b/bin/game/cards/MoyenAge/Moyen_Age_Pierre_Ermite.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Pouvoir_Du_Franc.class b/bin/game/cards/MoyenAge/Moyen_Age_Pouvoir_Du_Franc.class index dda67a2..2fa8fc4 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Pouvoir_Du_Franc.class and b/bin/game/cards/MoyenAge/Moyen_Age_Pouvoir_Du_Franc.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Prise_Sainte_Terre.class b/bin/game/cards/MoyenAge/Moyen_Age_Prise_Sainte_Terre.class index 2edfd08..592f73f 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Prise_Sainte_Terre.class and b/bin/game/cards/MoyenAge/Moyen_Age_Prise_Sainte_Terre.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Roland.class b/bin/game/cards/MoyenAge/Moyen_Age_Roland.class index edd496d..cf4a7a0 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Roland.class and b/bin/game/cards/MoyenAge/Moyen_Age_Roland.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Sire_Jean.class b/bin/game/cards/MoyenAge/Moyen_Age_Sire_Jean.class index 1199d09..e7f4d17 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Sire_Jean.class and b/bin/game/cards/MoyenAge/Moyen_Age_Sire_Jean.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class b/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class index 34f4fc4..6437dbd 100644 Binary files a/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class and b/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class differ diff --git a/bin/game/cards/Mythes/Mythes_12_Travaux.class b/bin/game/cards/Mythes/Mythes_12_Travaux.class index 43988d7..30c87e9 100644 Binary files a/bin/game/cards/Mythes/Mythes_12_Travaux.class and b/bin/game/cards/Mythes/Mythes_12_Travaux.class differ diff --git a/bin/game/cards/Mythes/Mythes_Achille.class b/bin/game/cards/Mythes/Mythes_Achille.class index 719ac38..2bb2122 100644 Binary files a/bin/game/cards/Mythes/Mythes_Achille.class and b/bin/game/cards/Mythes/Mythes_Achille.class differ diff --git a/bin/game/cards/Mythes/Mythes_Amazones.class b/bin/game/cards/Mythes/Mythes_Amazones.class index f57baba..f8ad415 100644 Binary files a/bin/game/cards/Mythes/Mythes_Amazones.class and b/bin/game/cards/Mythes/Mythes_Amazones.class differ diff --git a/bin/game/cards/Mythes/Mythes_Castor_Pollux.class b/bin/game/cards/Mythes/Mythes_Castor_Pollux.class index c54a06d..0f99aa7 100644 Binary files a/bin/game/cards/Mythes/Mythes_Castor_Pollux.class and b/bin/game/cards/Mythes/Mythes_Castor_Pollux.class differ diff --git a/bin/game/cards/Mythes/Mythes_Chant_Sirene.class b/bin/game/cards/Mythes/Mythes_Chant_Sirene.class index 713cf1a..88f0873 100644 Binary files a/bin/game/cards/Mythes/Mythes_Chant_Sirene.class and b/bin/game/cards/Mythes/Mythes_Chant_Sirene.class differ diff --git a/bin/game/cards/Mythes/Mythes_Chaos.class b/bin/game/cards/Mythes/Mythes_Chaos.class index 0c1dad7..481b59d 100644 Binary files a/bin/game/cards/Mythes/Mythes_Chaos.class and b/bin/game/cards/Mythes/Mythes_Chaos.class differ diff --git a/bin/game/cards/Mythes/Mythes_Cheval_Troie.class b/bin/game/cards/Mythes/Mythes_Cheval_Troie.class index 95125df..b0d8ef4 100644 Binary files a/bin/game/cards/Mythes/Mythes_Cheval_Troie.class and b/bin/game/cards/Mythes/Mythes_Cheval_Troie.class differ diff --git a/bin/game/cards/Mythes/Mythes_Chiron.class b/bin/game/cards/Mythes/Mythes_Chiron.class index 8615c9d..c6fd5b9 100644 Binary files a/bin/game/cards/Mythes/Mythes_Chiron.class and b/bin/game/cards/Mythes/Mythes_Chiron.class differ diff --git a/bin/game/cards/Mythes/Mythes_Dédale.class b/bin/game/cards/Mythes/Mythes_Dédale.class index 7eaaeaa..d11db17 100644 Binary files a/bin/game/cards/Mythes/Mythes_Dédale.class and b/bin/game/cards/Mythes/Mythes_Dédale.class differ diff --git a/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class b/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class index def0e27..5678995 100644 Binary files a/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class and b/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class differ diff --git a/bin/game/cards/Mythes/Mythes_Eole.class b/bin/game/cards/Mythes/Mythes_Eole.class index d365fee..fbb8261 100644 Binary files a/bin/game/cards/Mythes/Mythes_Eole.class and b/bin/game/cards/Mythes/Mythes_Eole.class differ diff --git a/bin/game/cards/Mythes/Mythes_Erinyes.class b/bin/game/cards/Mythes/Mythes_Erinyes.class index ec545ab..52992d6 100644 Binary files a/bin/game/cards/Mythes/Mythes_Erinyes.class and b/bin/game/cards/Mythes/Mythes_Erinyes.class differ diff --git a/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class b/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class index 19af9eb..81158a3 100644 Binary files a/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class and b/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class differ diff --git a/bin/game/cards/Mythes/Mythes_Hades.class b/bin/game/cards/Mythes/Mythes_Hades.class index 960ca5f..6362333 100644 Binary files a/bin/game/cards/Mythes/Mythes_Hades.class and b/bin/game/cards/Mythes/Mythes_Hades.class differ diff --git a/bin/game/cards/Mythes/Mythes_Heracles.class b/bin/game/cards/Mythes/Mythes_Heracles.class index c517031..2789a3b 100644 Binary files a/bin/game/cards/Mythes/Mythes_Heracles.class and b/bin/game/cards/Mythes/Mythes_Heracles.class differ diff --git a/bin/game/cards/Mythes/Mythes_Hermione.class b/bin/game/cards/Mythes/Mythes_Hermione.class index 9436dfa..aeb621f 100644 Binary files a/bin/game/cards/Mythes/Mythes_Hermione.class and b/bin/game/cards/Mythes/Mythes_Hermione.class differ diff --git a/bin/game/cards/Mythes/Mythes_Icar.class b/bin/game/cards/Mythes/Mythes_Icar.class index 3a09d14..9157a72 100644 Binary files a/bin/game/cards/Mythes/Mythes_Icar.class and b/bin/game/cards/Mythes/Mythes_Icar.class differ diff --git a/bin/game/cards/Mythes/Mythes_Kunée.class b/bin/game/cards/Mythes/Mythes_Kunée.class index 0ed0b78..049dd53 100644 Binary files a/bin/game/cards/Mythes/Mythes_Kunée.class and b/bin/game/cards/Mythes/Mythes_Kunée.class differ diff --git a/bin/game/cards/Mythes/Mythes_Minos.class b/bin/game/cards/Mythes/Mythes_Minos.class index 927c0e6..5e52eca 100644 Binary files a/bin/game/cards/Mythes/Mythes_Minos.class and b/bin/game/cards/Mythes/Mythes_Minos.class differ diff --git a/bin/game/cards/Mythes/Mythes_Oedipie.class b/bin/game/cards/Mythes/Mythes_Oedipie.class index 0672542..c1983f8 100644 Binary files a/bin/game/cards/Mythes/Mythes_Oedipie.class and b/bin/game/cards/Mythes/Mythes_Oedipie.class differ diff --git a/bin/game/cards/Mythes/Mythes_Perséphone.class b/bin/game/cards/Mythes/Mythes_Perséphone.class index c613bb2..e38bff7 100644 Binary files a/bin/game/cards/Mythes/Mythes_Perséphone.class and b/bin/game/cards/Mythes/Mythes_Perséphone.class differ diff --git a/bin/game/cards/Mythes/Mythes_Poseidon.class b/bin/game/cards/Mythes/Mythes_Poseidon.class index 9e408d6..c597136 100644 Binary files a/bin/game/cards/Mythes/Mythes_Poseidon.class and b/bin/game/cards/Mythes/Mythes_Poseidon.class differ diff --git a/bin/game/cards/Mythes/Mythes_Psyché.class b/bin/game/cards/Mythes/Mythes_Psyché.class index e2f0ccb..e66b956 100644 Binary files a/bin/game/cards/Mythes/Mythes_Psyché.class and b/bin/game/cards/Mythes/Mythes_Psyché.class differ diff --git a/bin/game/cards/Mythes/Mythes_Rapt.class b/bin/game/cards/Mythes/Mythes_Rapt.class index e6da47b..54e52b9 100644 Binary files a/bin/game/cards/Mythes/Mythes_Rapt.class and b/bin/game/cards/Mythes/Mythes_Rapt.class differ diff --git a/bin/game/cards/Mythes/Mythes_Sémélé.class b/bin/game/cards/Mythes/Mythes_Sémélé.class index 7313bf5..cf283c7 100644 Binary files a/bin/game/cards/Mythes/Mythes_Sémélé.class and b/bin/game/cards/Mythes/Mythes_Sémélé.class differ diff --git a/bin/game/cards/Mythes/Mythes_Thanatos.class b/bin/game/cards/Mythes/Mythes_Thanatos.class index 680b840..30514b1 100644 Binary files a/bin/game/cards/Mythes/Mythes_Thanatos.class and b/bin/game/cards/Mythes/Mythes_Thanatos.class differ diff --git a/bin/game/cards/Mythes/Mythes_Titanomachie.class b/bin/game/cards/Mythes/Mythes_Titanomachie.class index a461307..185d0a7 100644 Binary files a/bin/game/cards/Mythes/Mythes_Titanomachie.class and b/bin/game/cards/Mythes/Mythes_Titanomachie.class differ diff --git a/bin/game/cards/Mythes/Mythes_Toison.class b/bin/game/cards/Mythes/Mythes_Toison.class index 845d07d..a7cb09a 100644 Binary files a/bin/game/cards/Mythes/Mythes_Toison.class and b/bin/game/cards/Mythes/Mythes_Toison.class differ diff --git a/bin/game/cards/Mythes/Mythes_Zeus.class b/bin/game/cards/Mythes/Mythes_Zeus.class index 881e2b6..09ce36f 100644 Binary files a/bin/game/cards/Mythes/Mythes_Zeus.class and b/bin/game/cards/Mythes/Mythes_Zeus.class differ diff --git a/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class b/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class index 54079d4..b1fbcd3 100644 Binary files a/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class and b/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class differ diff --git a/bin/game/cards/Renaissance/Renaissance_Copernic.class b/bin/game/cards/Renaissance/Renaissance_Copernic.class index b9c2c6e..9135e73 100644 Binary files a/bin/game/cards/Renaissance/Renaissance_Copernic.class and b/bin/game/cards/Renaissance/Renaissance_Copernic.class differ diff --git a/bin/game/cards/Renaissance/Renaissance_Mehmet.class b/bin/game/cards/Renaissance/Renaissance_Mehmet.class index 84675c3..5ba0732 100644 Binary files a/bin/game/cards/Renaissance/Renaissance_Mehmet.class and b/bin/game/cards/Renaissance/Renaissance_Mehmet.class differ diff --git a/bin/game/cards/Renaissance/Renaissance_Soliman.class b/bin/game/cards/Renaissance/Renaissance_Soliman.class index 6e5f7fb..a16cb9f 100644 Binary files a/bin/game/cards/Renaissance/Renaissance_Soliman.class and b/bin/game/cards/Renaissance/Renaissance_Soliman.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Casimir.class b/bin/game/cards/Renaissance/Rennaissance_Casimir.class index 5dd4caa..c258ec1 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Casimir.class and b/bin/game/cards/Renaissance/Rennaissance_Casimir.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Charles.class b/bin/game/cards/Renaissance/Rennaissance_Charles.class index 61bcd87..22b9b05 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Charles.class and b/bin/game/cards/Renaissance/Rennaissance_Charles.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Chatherine.class b/bin/game/cards/Renaissance/Rennaissance_Chatherine.class index 9974201..00b0ab2 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Chatherine.class and b/bin/game/cards/Renaissance/Rennaissance_Chatherine.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class b/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class index ec5e3a5..7266961 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class and b/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class b/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class index 7108b74..c5d2b3f 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class and b/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Constantin.class b/bin/game/cards/Renaissance/Rennaissance_Constantin.class index f004544..f654430 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Constantin.class and b/bin/game/cards/Renaissance/Rennaissance_Constantin.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Decouverte_Amerique.class b/bin/game/cards/Renaissance/Rennaissance_Decouverte_Amerique.class index a7b3a0d..6c8777b 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Decouverte_Amerique.class and b/bin/game/cards/Renaissance/Rennaissance_Decouverte_Amerique.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class b/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class index 3a23404..3a927f9 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class and b/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class b/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class index 8d4e6cf..74b3200 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class and b/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class b/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class index 853fdb2..241d41d 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class and b/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Francois.class b/bin/game/cards/Renaissance/Rennaissance_Francois.class index e9547eb..dce2243 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Francois.class and b/bin/game/cards/Renaissance/Rennaissance_Francois.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class b/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class index 2b993c1..059fddf 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class and b/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Henri.class b/bin/game/cards/Renaissance/Rennaissance_Henri.class index 1b7a9ba..515d6b8 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Henri.class and b/bin/game/cards/Renaissance/Rennaissance_Henri.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Henri_8.class b/bin/game/cards/Renaissance/Rennaissance_Henri_8.class index 858084f..ef582b5 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Henri_8.class and b/bin/game/cards/Renaissance/Rennaissance_Henri_8.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Isabelle.class b/bin/game/cards/Renaissance/Rennaissance_Isabelle.class index a783f37..7bd6ded 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Isabelle.class and b/bin/game/cards/Renaissance/Rennaissance_Isabelle.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Ivan.class b/bin/game/cards/Renaissance/Rennaissance_Ivan.class index 26b05d5..c1d5a5a 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Ivan.class and b/bin/game/cards/Renaissance/Rennaissance_Ivan.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Leonard.class b/bin/game/cards/Renaissance/Rennaissance_Leonard.class index 0757a03..979d7a1 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Leonard.class and b/bin/game/cards/Renaissance/Rennaissance_Leonard.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Machiavel.class b/bin/game/cards/Renaissance/Rennaissance_Machiavel.class index b55e2df..5e56e29 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Machiavel.class and b/bin/game/cards/Renaissance/Rennaissance_Machiavel.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Michel_Ange.class b/bin/game/cards/Renaissance/Rennaissance_Michel_Ange.class index 1fd5c2d..95bc126 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Michel_Ange.class and b/bin/game/cards/Renaissance/Rennaissance_Michel_Ange.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class b/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class index 9b2d0d3..efa76a3 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class and b/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Presse_Imprimer.class b/bin/game/cards/Renaissance/Rennaissance_Presse_Imprimer.class index 58ef5d5..a32e14d 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Presse_Imprimer.class and b/bin/game/cards/Renaissance/Rennaissance_Presse_Imprimer.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Rabelais.class b/bin/game/cards/Renaissance/Rennaissance_Rabelais.class index 2c58a52..b02c203 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Rabelais.class and b/bin/game/cards/Renaissance/Rennaissance_Rabelais.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Reforme.class b/bin/game/cards/Renaissance/Rennaissance_Reforme.class index fadc25e..e614c9e 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Reforme.class and b/bin/game/cards/Renaissance/Rennaissance_Reforme.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class b/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class index 6538bd9..9a9a749 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class and b/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class b/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class index 9dbfa21..c83888e 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class and b/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Succession_Bourgogne.class b/bin/game/cards/Renaissance/Rennaissance_Succession_Bourgogne.class index 447d259..dca8767 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Succession_Bourgogne.class and b/bin/game/cards/Renaissance/Rennaissance_Succession_Bourgogne.class differ diff --git a/bin/game/cards/Renaissance/Rennaissance_Vlad.class b/bin/game/cards/Renaissance/Rennaissance_Vlad.class index 8c0ed4a..9b1a7b7 100644 Binary files a/bin/game/cards/Renaissance/Rennaissance_Vlad.class and b/bin/game/cards/Renaissance/Rennaissance_Vlad.class differ diff --git a/bin/game/deck/MoyeneAge.class b/bin/game/deck/MoyeneAge.class index af93d96..bf2a287 100644 Binary files a/bin/game/deck/MoyeneAge.class and b/bin/game/deck/MoyeneAge.class differ diff --git a/bin/game/deck/Mythes.class b/bin/game/deck/Mythes.class index 671c3f0..792e5f5 100644 Binary files a/bin/game/deck/Mythes.class and b/bin/game/deck/Mythes.class differ diff --git a/bin/game/deck/Renaissance.class b/bin/game/deck/Renaissance.class index c93b54b..add599d 100644 Binary files a/bin/game/deck/Renaissance.class and b/bin/game/deck/Renaissance.class differ diff --git a/src/game/Board.java b/src/game/Board.java index 938e84b..e0724f8 100644 --- a/src/game/Board.java +++ b/src/game/Board.java @@ -4,6 +4,7 @@ import game.cards.Card; /** * cette classe est le terrain du jeu + * il y a un terrain par joueur * tout les carte placé sur le terrain sont stocké ici */ public class Board { @@ -23,4 +24,18 @@ public class Board { board[index]=c; } + public Card getCardInZone(int zone) { + return board[zone]; + } + + public void printDebugBoard() { + for(Card c : board) + { + if(c == null) System.out.print("X"); + else System.out.print("O"); + } + System.out.println(); + + } + } diff --git a/src/game/Command.java b/src/game/Command.java index 56344d8..a75f463 100644 --- a/src/game/Command.java +++ b/src/game/Command.java @@ -12,7 +12,7 @@ public final class Command { public static final String PUT_CARD = "putCard"; // place une carte public static final String PUT_ENEMY_CARD = "enemycard"; // place une carte sur le terrain adverse public static final String PASS_TURN = "passTurn"; // passe son tours - public static final String POPUP = "pupup"; // affiche un messsage + public static final String POPUP = "popup"; // affiche un messsage public static final String ENEMYTURN = "enemyTurn"; // tours enemy public static final String SETMANA = "setmana"; // defini la mana public static final String WIN = "win"; // gagne @@ -22,12 +22,14 @@ public final class Command { public static final String NOK = "nok"; // refuse une actoin public static final String OK = "ok"; // accepte une actoin public static final String MEULE = "meule"; // fait pioché mais n'ajoute pas a la main la carte sera donc perdu + public static final String ATTACK = "attack"; // dit au server qu'une attaque est lancé + public static final String DESTROY_CARD = "destroyself"; //demande au clien de retirer une carte du terrain + public static final String DESTROY_ADV_CARD = "destroyadv"; //demande au client de retirer une carte adverse du terrain + public static final String BATTLE = "battlephase"; //inutilisé - public static final String SHUFFLE_DECK = "shuffleDeck"; public static final String SELECT_CARD = "selectCard"; - public static final String ATTACK = "attack"; public static final String DEFEND = "defend"; public static final String CAST_SPELL = "castSpell"; } diff --git a/src/game/Joueur.java b/src/game/Joueur.java index 06306c8..7a27755 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -11,6 +11,7 @@ public class Joueur { private ComsJoueur coms; private Deck deck; private Hand hand; + private Board board; private int pV; private int currentMana=0; private int mana; @@ -19,6 +20,7 @@ public class Joueur { public Joueur(ComsJoueur connectionJoueur) { coms=connectionJoueur; pV =20; + this.board=new Board(); } /** @@ -91,9 +93,7 @@ public class Joueur { * @param board * @throws IOException */ - public void mainPhase1(Joueur adversaire, Board board) throws IOException { - System.out.println("NOW WE SHOULDN'T SEND COMMAND"); - + public void mainPhase1(Joueur adversaire) throws IOException { boolean phaseActive=true; //on retire le time out sur l'adversaire car sa peut causer des désyncronisatoin et des crash adversaire.getComs().getSocket().setSoTimeout(Integer.MAX_VALUE); @@ -135,7 +135,7 @@ public class Joueur { private void putCard(Joueur adversaire, Board board) throws IOException { String info = coms.recieve(); //si ce n'est pas un nombre - if(!info.matches("-?\\d+")) { + if(!isInt(info)) { //alors on affiche l'inforamtion si la sortie d'erreur System.err.println(info); }else { @@ -154,6 +154,7 @@ public class Joueur { //si la carte n'est pas trouve ou si elle coute trop cher if(handCard == null || mana < handCard.getCost()){ //on refuse le placement + System.out.println("no mana or no card"); coms.send(Command.NOK); } else { @@ -164,6 +165,7 @@ public class Joueur { adversaire.enemyPlay(cardId,zone); coms.send(Command.OK); }else { + System.out.println("the zone is not avaliable"); coms.send(Command.NOK); } } @@ -171,6 +173,10 @@ public class Joueur { } + private boolean isInt(String info) { + return info.matches("-?\\d+"); + } + /** * cette fonctoin est appelé affin de placer une carte sur le plateur énemie * @param cardId @@ -243,4 +249,81 @@ public class Joueur { coms.send(nbcard); deck.draw(1); } + + public void battlePhase(Joueur adversaire) throws IOException + { + coms.send(Command.BATTLE); + + boolean phaseActive = true; + + adversaire.getComs().getSocket().setSoTimeout(Integer.MAX_VALUE); + //debut de l'écoude des action client + + while(phaseActive) + { + coms.getSocket().setSoTimeout(500); + String command = coms.recieve(); + coms.getSocket().setSoTimeout(Integer.MAX_VALUE); + if(command != null && !command.equals("time out")) + { + System.out.println("GOT COMMAND :"+command); + + switch (command) { + + case Command.PING: + coms.send(Command.PONG); + break; + + case Command.PASS_TURN: + phaseActive=false; + break; + + case Command.ATTACK: + //numero de la zone de la carte attaquante + String carteAttaquante = coms.recieve(); + //numero de la zone de la carte ciblé + String carteCible = coms.recieve(); + if(!isInt(carteAttaquante) || !isInt(carteCible))throw new RuntimeException("non number zone recived in attack phase"); + Card attackingCard = board.getCardInZone(Integer.parseInt(carteAttaquante)); + Card attackedCard = adversaire.getBoard().getCardInZone(Integer.parseInt(carteCible)); + + if(attackedCard ==null || attackingCard == null) + { + board.printDebugBoard(); + throw new RuntimeException("error invalid carteCible:"+carteCible + " carteAttaquante : "+carteAttaquante); + } + + System.out.println("FIGHT " + "carteCible:"+carteCible + " carteAttaquante : "+carteAttaquante); + + boolean isDestroyed = attackedCard.takeDamage(attackingCard.getAttack()); + if(isDestroyed) + { + //on suprime la carte du terrain + board.setCard(Integer.parseInt(carteCible), null); + + //demande a l'adversaire de retirer la carte de son terrain + adversaire.getComs().send(Command.DESTROY_CARD); + adversaire.getComs().send(carteCible); + + //retire la carte au terrain adverse + this.getComs().send(Command.DESTROY_ADV_CARD); + this.getComs().send(carteCible); + + //appelle les effet de quand la carte est détruite + //NOTE : non implémenter dans les cartes individuelles par manque de temps + attackedCard.onCardDestroyed(); + } + break; + + default: + System.err.println("unknown command "+command); + } + + } + } + } + + private Board getBoard() { + return board; + } } diff --git a/src/game/Match.java b/src/game/Match.java index 35138fc..7c3335d 100644 --- a/src/game/Match.java +++ b/src/game/Match.java @@ -5,12 +5,10 @@ import java.util.Random; public class Match extends Thread { Joueur joueur1, joueur2; - private Board board; private Random rand; public Match(ComsJoueur joueur1Com, ComsJoueur joueur2Com) throws IOException { super(); - this.board=new Board(); // random j2/j1 rand = new Random(); if (rand.nextBoolean()) { @@ -107,20 +105,16 @@ public class Match extends Thread { } //on prepare la mana joueur.prepMana(); - //on dit au joeur que c'est a lui de jouer + //on dit au joueur que c'est a lui de jouer joueur.yourturn(); //et on dit au joueur oposé que ce n'est pas le tien enemy.debutTourEnemie(); - joueur.mainPhase1(enemy,board); //Joue autant de carte qu'il veut/peut - battlePhase(joueur);//lance des attaques à son adversaire qui peut répliquer + joueur.mainPhase1(enemy); //Joue autant de carte qu'il veut/peut + joueur.battlePhase(enemy);//lance des attaques à son adversaire qui peut répliquer //cette phases ne serira surment pas car nous manquon de temps pour implrementer les fonctionnalité specifique de certaine cartes joueur.endPhase();//fin du tour du @joueur } - private void battlePhase(Joueur joueur) { - // TODO Auto-generated method stub - - } } diff --git a/src/game/cards/Card.java b/src/game/cards/Card.java index 2c627af..5ec4396 100644 --- a/src/game/cards/Card.java +++ b/src/game/cards/Card.java @@ -60,5 +60,21 @@ public abstract class Card{ * @return */ public abstract int getCost(); + + /** + * diminue les point de vie de la carte + * @param amountOfHpToLose nombre de hp a perdre + * @return renvoie true sur si la carte est a 0hp + */ + public boolean takeDamage(int amountOfHpToLose) + { + if(health <= amountOfHpToLose) + { + health = 0; + }else { + health -= amountOfHpToLose; + } + return health == 0; + } }