diff --git a/.gitignore b/.gitignore index 5e83119..42c30e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .settings +.idea/ diff --git a/Pts3Serveur.iml b/Pts3Serveur.iml new file mode 100644 index 0000000..c7ef73a --- /dev/null +++ b/Pts3Serveur.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/Serveur.class b/bin/Serveur.class index 2722342..03aaa4c 100644 Binary files a/bin/Serveur.class and b/bin/Serveur.class differ diff --git a/bin/game/Board.class b/bin/game/Board.class index 920438f..8709e30 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 1a398c8..2787f9f 100644 Binary files a/bin/game/Command.class and b/bin/game/Command.class differ diff --git a/bin/game/ComsJoueur.class b/bin/game/ComsJoueur.class index a06a8ac..26ff0e6 100644 Binary files a/bin/game/ComsJoueur.class and b/bin/game/ComsJoueur.class differ diff --git a/bin/game/DeckSerializer.class b/bin/game/DeckSerializer.class index de5a988..a9ad87e 100644 Binary files a/bin/game/DeckSerializer.class and b/bin/game/DeckSerializer.class differ diff --git a/bin/game/Hand.class b/bin/game/Hand.class index b4d9142..438057a 100644 Binary files a/bin/game/Hand.class and b/bin/game/Hand.class differ diff --git a/bin/game/Joueur.class b/bin/game/Joueur.class index d9c260a..531cbf8 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 28cf5d8..922bae7 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 7d18dab..3453475 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 index 76c42d4..cd41b78 100644 Binary files a/bin/game/SimpleUDP.class and b/bin/game/SimpleUDP.class differ diff --git a/bin/game/cards/Card.class b/bin/game/cards/Card.class index d087fa4..4ab2415 100644 Binary files a/bin/game/cards/Card.class and b/bin/game/cards/Card.class differ diff --git a/bin/game/cards/CardRegistery.class b/bin/game/cards/CardRegistery.class index 694f6ba..075eacb 100644 Binary files a/bin/game/cards/CardRegistery.class and b/bin/game/cards/CardRegistery.class differ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class b/bin/game/cards/MoyenAge/Moyen_Age_Charlemagne.class index 9e7c1fd..33780d5 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 d388bc0..c2a40ed 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 6f0d031..45b188d 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 3648844..14a2800 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 4cdc882..04f1b5f 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 d20ed9c..9621baa 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 e17773e..d19a93b 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 b6061b5..66ec0e4 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 f53cf81..c633e3d 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 fd2f3db..114eafa 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 eff0cd2..d5a64e2 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 fe0d3eb..28e98d2 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 3af66e0..fa0ab95 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 cff1d72..e0349be 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 e203520..f38c3d2 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 f4a2d09..9efe35c 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 6c345a0..1c9685a 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 0c81fd9..7345e7a 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 0aefcec..a1ffeb1 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 cdd78fd..e290bb5 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 b68c4f0..a5bd9de 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 25048e6..84cfe3c 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 4a5a51b..0670f9a 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 3ae60eb..e84c161 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 2da6475..30ba319 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 2fa8fc4..dda67a2 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 592f73f..2edfd08 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 cf4a7a0..edd496d 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 e7f4d17..1199d09 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 6437dbd..34f4fc4 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 30c87e9..43988d7 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 2bb2122..719ac38 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 f8ad415..f57baba 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 0f99aa7..c54a06d 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 88f0873..713cf1a 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 481b59d..0c1dad7 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 b0d8ef4..95125df 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 c6fd5b9..8615c9d 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 d11db17..7eaaeaa 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 5678995..def0e27 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 fbb8261..d365fee 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 52992d6..ec545ab 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 81158a3..19af9eb 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 6362333..960ca5f 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 2789a3b..c517031 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 aeb621f..9436dfa 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 9157a72..3a09d14 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 049dd53..0ed0b78 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 5e52eca..927c0e6 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 c1983f8..0672542 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 e38bff7..c613bb2 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 c597136..9e408d6 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 e66b956..e2f0ccb 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 54e52b9..e6da47b 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 cf283c7..7313bf5 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 30514b1..680b840 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 185d0a7..a461307 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 a7cb09a..845d07d 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 09ce36f..881e2b6 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 b1fbcd3..54079d4 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 9135e73..b9c2c6e 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 5ba0732..84675c3 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 a16cb9f..6e5f7fb 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 c258ec1..5dd4caa 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 22b9b05..61bcd87 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 00b0ab2..9974201 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 7266961..ec5e3a5 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 c5d2b3f..7108b74 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 f654430..f004544 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 6c8777b..a7b3a0d 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 3a927f9..3a23404 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 74b3200..8d4e6cf 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 241d41d..853fdb2 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 dce2243..e9547eb 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 059fddf..2b993c1 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 515d6b8..1b7a9ba 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 ef582b5..858084f 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 7bd6ded..a783f37 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 c1d5a5a..26b05d5 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 979d7a1..0757a03 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 5e56e29..b55e2df 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 95bc126..1fd5c2d 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 efa76a3..9b2d0d3 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 a32e14d..58ef5d5 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 b02c203..2c58a52 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 e614c9e..fadc25e 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 9a9a749..6538bd9 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 c83888e..9dbfa21 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 dca8767..447d259 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 9b1a7b7..8c0ed4a 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/Deck.class b/bin/game/deck/Deck.class index 79a81af..89e4469 100644 Binary files a/bin/game/deck/Deck.class and b/bin/game/deck/Deck.class differ diff --git a/bin/game/deck/DeckRegistery.class b/bin/game/deck/DeckRegistery.class index a884f08..5b41933 100644 Binary files a/bin/game/deck/DeckRegistery.class and b/bin/game/deck/DeckRegistery.class differ diff --git a/bin/game/deck/MoyeneAge.class b/bin/game/deck/MoyeneAge.class index bf2a287..af93d96 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 792e5f5..671c3f0 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 add599d..c93b54b 100644 Binary files a/bin/game/deck/Renaissance.class and b/bin/game/deck/Renaissance.class differ diff --git a/src/Serveur.java b/src/Serveur.java index 4c50c1c..8e956c1 100644 --- a/src/Serveur.java +++ b/src/Serveur.java @@ -14,10 +14,10 @@ public class Serveur { final String host = "localhost"; final int port = 10430; + //socket du serveur permet la connection de client ServerSocket tCPserver = null; try { tCPserver = new ServerSocket(port, 50, InetAddress.getByName(host)); - //tCPserver.setSoTimeout(); } catch (UnknownHostException e1) {// cette exception ne s'affichera jammais vu que l'on utilise localhost } catch (IOException e1) { System.err.println( @@ -27,6 +27,7 @@ public class Serveur { System.out.println("server ready"); + //la file d'attente Socket joueur1EnAttente = null; ComsJoueur joueur1Com = null; Socket joueur2EnAttente = null; diff --git a/src/game/Board.java b/src/game/Board.java index 19bedac..938e84b 100644 --- a/src/game/Board.java +++ b/src/game/Board.java @@ -2,6 +2,10 @@ package game; import game.cards.Card; +/** + * cette classe est le terrain du jeu + * tout les carte placé sur le terrain sont stocké ici + */ public class Board { private Card[] board; diff --git a/src/game/Command.java b/src/game/Command.java index 8caa0c2..56344d8 100644 --- a/src/game/Command.java +++ b/src/game/Command.java @@ -1,24 +1,33 @@ package game; + +/** + * cette classe contien une liste de commande utilisé entre le client et le serveur + */ public final class Command { - private Command(){} // pas de contructor on ne veut pas instancier cette classe - public static final String YOURTURN="yourturn"; - public static final String DRAW = "draw"; - public static final String GET_DECK = "getDeck"; - public static final String PUT_CARD = "putCard"; - public static final String PUT_ENEMY_CARD = "enemycard"; + + private Command(){} // pas de contructor on ne veut pas instancier cette classe + public static final String YOURTURN="yourturn"; // commande de debut de tours + public static final String DRAW = "draw"; //demande a pioché + public static final String GET_DECK = "getDeck"; // demande le deck + 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 ENEMYTURN = "enemyTurn"; // tours enemy + public static final String SETMANA = "setmana"; // defini la mana + public static final String WIN = "win"; // gagne + public static final String LOSE = "lose"; // perds + public static final String PING = "ping"; //envoie un ping en l'attente d'un pong + public static final String PONG = "pong"; + 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 + + + //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"; - public static final String PASS_TURN = "passTurn"; - public static final String POPUP = "pupup"; - public static final String ENEMYTURN = "enemyTurn"; - public static final String SETMANA = "setmana"; - public static final String WIN = "win"; - public static final String LOSE = "lose"; - public static final String PING = "ping"; - public static final String PONG = "pong"; - public static final String NOK = "nok"; - public static final String OK = "ok"; } diff --git a/src/game/ComsJoueur.java b/src/game/ComsJoueur.java index edf522f..dc49af3 100644 --- a/src/game/ComsJoueur.java +++ b/src/game/ComsJoueur.java @@ -16,13 +16,26 @@ public class ComsJoueur { serverIn = new ObjectInputStream(connection.getInputStream()); this.socket=connection; } - + + /** + * envoie un message sous forme de chaine de caractére + * le choix de la chaine de caractére permet déviter des crash on n'a pas euh de cours sur le reseau + * donc ce genre de communication est assez obscure pour nous + * @param message + * @throws IOException + */ public void send(String message) throws IOException { serverOut.writeObject(message); System.out.println("Sending "+message); } - + + + /** + * recoit une chaine de caractére + * voire la description de send() pour des info suplementaire + * @return + */ public String recieve() { try { @@ -34,26 +47,32 @@ public class ComsJoueur { return "time out"; } } - - public Object waitAndRecieve() - { - String returnVal; - while((returnVal =(String) recieve())!= null); - return returnVal; - } - + + /** + * ferme la connection a la fin du match + * @throws IOException + */ public void close() throws IOException { serverOut.close(); serverIn.close(); } - + + /** + * retourne le socket de connection + * @return + */ public Socket getSocket() { return socket; } - public void send(int cardId) throws IOException { - send(""+cardId); + /** + * envoie un entier en le convertissant en chaine + * @param message + * @throws IOException + */ + public void send(int message) throws IOException { + send(""+message); } } diff --git a/src/game/DeckSerializer.java b/src/game/DeckSerializer.java index fc17946..d068ef7 100644 --- a/src/game/DeckSerializer.java +++ b/src/game/DeckSerializer.java @@ -4,12 +4,23 @@ import game.cards.Card; import game.deck.Deck; public class DeckSerializer { + /** + * transforme le deck en chaine envoyable au client + * @param d + * @return + */ public static String serializeDeck(Deck d) { + //la direction reste incertaine car on n'est pas sur de l'ordre des données recut return forwardSerialisze(d); } - + + /** + * sérialise le deck a l'envers + * @param d + * @return + */ private static String reverseSerialisze(Deck d) { StringBuilder str = new StringBuilder(d.getCards().size()*2); @@ -20,7 +31,12 @@ public class DeckSerializer { } return str.toString(); } - + + /** + * sérialise la deck a l'endroit + * @param d + * @return + */ private static String forwardSerialisze(Deck d) { StringBuilder str = new StringBuilder(d.getCards().size()*2); diff --git a/src/game/Hand.java b/src/game/Hand.java index e7e6fbc..fe91683 100644 --- a/src/game/Hand.java +++ b/src/game/Hand.java @@ -9,40 +9,58 @@ import game.deck.Deck; public class Hand { List hand; private Deck deck; + private static final int MAX_CARD_IN_HAND = 5; public Hand(Deck deck) { this.deck=deck; this.hand = new ArrayList<>(); } - //TODO limiter le nombre de carte + /** + * permet de piocher des carte depuis le deck et de les mettre dans la main + * @param i nombre de carte pioché + * + * si la main est pleine alors il arettra de pioché et se mettera a meulé + */ public void draw(int i) { for(int j=0 ; j < i ; j++) { - hand.add(deck.getCards().pop()); + if(!isFull())hand.add(deck.draw()); + else{ + //si la main est pleine alors la carte pioché est perdu + deck.draw(); + } } } /** - * retourne l'index de la carte + * retourne la carte si elle est contenu dans la main de la carte * @param c la classe de la carte cherché - * @return -1 si elle n'est pas trouver + * @return null si elle n'est pas trouver */ - public int contains(Class c) { - int index = 0; + public Card contains(Class c) { for(Card ca : hand) { if(ca.getClass().equals(c)) { - return index; + return ca; } - index++; } - return -1; + return null; } - public Card remove(int index) { - return hand.remove(index); + /** + * retire la carte + * @param c carte a retirer + * @return si la carte a été retirer + */ + public Boolean remove(Card c) + { + return hand.remove(c); + } + public boolean isFull() { + return hand.size() == MAX_CARD_IN_HAND; + } } diff --git a/src/game/Joueur.java b/src/game/Joueur.java index 0c08981..06306c8 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -16,14 +16,18 @@ public class Joueur { private int mana; - public Joueur(ComsJoueur connectionJoueur) throws IOException { + public Joueur(ComsJoueur connectionJoueur) { coms=connectionJoueur; pV =20; } + /** + * cette fonction permet d'obtenir le deck du joueur et de préparer la main + * @throws IOException + */ public void requestDataEarlyGameData() throws IOException { - coms.send("getDeck"); - String deckname = (String) coms.recieve(); + coms.send(Command.GET_DECK); + String deckname = coms.recieve(); deck = DeckRegistery.get(deckname); deck.shuffle(); hand = new Hand(deck); @@ -31,7 +35,12 @@ public class Joueur { draw(5); } - + + /** + * cette fonction permet de pioche une quantité donné + * @param amount la quantié + * @throws IOException + */ public void draw(int amount) throws IOException { coms.send(Command.DRAW); @@ -39,18 +48,43 @@ public class Joueur { hand.draw(amount); } + /** + * affiche sur l'ecran que c'est le tours de l'adversaire + * @throws IOException + */ public void debutTourEnemie() throws IOException { coms.send(Command.ENEMYTURN); } + /** + * affiche un menu de victoire + * @throws IOException + */ public void win() throws IOException { coms.send(Command.WIN); } - + + /** + * affiche un menu de defaite + * @throws IOException + */ public void lose() throws IOException { coms.send(Command.LOSE); } + /** + * cette commande doit être utilisé a chaque début de tour elle permet d'augmenter la mana du joueur + * @throws IOException + */ + public void prepMana() throws IOException { + //on prepare la mana + if(currentMana < 10)currentMana++; + mana=currentMana; + coms.send(Command.SETMANA); + coms.send(mana); + } + + /** * premiére phase de jeu avant d'attacker * @param adversaire @@ -58,23 +92,16 @@ public class Joueur { * @throws IOException */ public void mainPhase1(Joueur adversaire, Board board) throws IOException { - //on prepare la mana - if(currentMana < 10)currentMana++; - mana=currentMana; - coms.send(Command.SETMANA); - coms.send(mana); - - //on affiche le debut de tour - coms.send(Command.YOURTURN); System.out.println("NOW WE SHOULDN'T SEND COMMAND"); boolean phaseActive=true; - //debut de l'écoude des action client + //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); + //debut de l'écoude des action client while(phaseActive) { coms.getSocket().setSoTimeout(500); - String command = (String) coms.recieve(); + String command = coms.recieve(); coms.getSocket().setSoTimeout(Integer.MAX_VALUE); if(command != null && !command.equals("time out")) { @@ -103,13 +130,16 @@ public class Joueur { } } + //cette mothode est utilisé l'orse qu'un joueur utilise Command.PLACECARD + //elle verifie si le joueur peut la jouer et refuse ou confirme en fonction private void putCard(Joueur adversaire, Board board) throws IOException { - //crash here - String info = (String) coms.recieve(); + String info = coms.recieve(); //si ce n'est pas un nombre if(!info.matches("-?\\d+")) { + //alors on affiche l'inforamtion si la sortie d'erreur System.err.println(info); }else { + //on recupére la carte int cardId = Integer.parseInt(info); Class cardClass = CardRegistery.get(cardId); @@ -117,14 +147,20 @@ public class Joueur { int zone = Integer.parseInt(coms.recieve()); - - int handIndex = hand.contains(cardClass); - if(handIndex == -1)coms.send(Command.NOK); + + + Card handCard = hand.contains(cardClass); + + //si la carte n'est pas trouve ou si elle coute trop cher + if(handCard == null || mana < handCard.getCost()){ + //on refuse le placement + coms.send(Command.NOK); + } else { if(board.isZoneAvaliable(zone)) { - Card card = hand.remove(handIndex); - board.setCard(zone, card); + hand.remove(handCard); + board.setCard(zone, handCard); adversaire.enemyPlay(cardId,zone); coms.send(Command.OK); }else { @@ -135,20 +171,23 @@ public class Joueur { } + /** + * cette fonctoin est appelé affin de placer une carte sur le plateur énemie + * @param cardId + * @param zone + * @throws IOException + */ private void enemyPlay(int cardId,int zone) throws IOException { coms.send(Command.PUT_ENEMY_CARD); coms.send(cardId); coms.send(zone); } - public void mainPhase2() { - // TODO Auto-generated method stub - - } - + /** + * cette methode a pour but d'executé les evenement de fin de trous des cartes + */ public void endPhase() { // TODO Auto-generated method stub - } public ComsJoueur getComs() { @@ -168,10 +207,40 @@ public class Joueur { { return !isDead(); } - + + /** + * envoie le message donné qui aparaitera alors comme une toast + * @param message + * @throws IOException + */ public void sendMessage(String message) throws IOException { - coms.send("pupup"); + coms.send(Command.POPUP); coms.send(message); } + + /** + * affiche le debut de tours + * @throws IOException + */ + public void yourturn() throws IOException { + //on affiche le debut de tour + coms.send(Command.YOURTURN); + } + + + public boolean isHandFull() { + return hand.isFull(); + } + + /** + * retire le nombre de carte donné du deck + * @param nbcard nombre de carte a supprimé + * @throws IOException + */ + public void meule(int nbcard) throws IOException { + coms.send(Command.MEULE); + coms.send(nbcard); + deck.draw(1); + } } diff --git a/src/game/Match.java b/src/game/Match.java index 7c0ed88..35138fc 100644 --- a/src/game/Match.java +++ b/src/game/Match.java @@ -5,7 +5,6 @@ import java.util.Random; public class Match extends Thread { Joueur joueur1, joueur2; - int tour = 1; private Board board; private Random rand; @@ -39,6 +38,7 @@ public class Match extends Thread { tour(joueur2); } catch (IOException e) { endGameAfterIssue(); + return; } } try { @@ -48,6 +48,9 @@ public class Match extends Thread { } } + /** + * si le jeu a un crash il faut que si un joueur ai perdu la connection l'autre gagne + */ private void endGameAfterIssue() { if(PlayerTesteur.playerTest(joueur1.getComs())) { @@ -65,8 +68,12 @@ public class Match extends Thread { e.printStackTrace(); } } - joueur1.setPV(0); - joueur2.setPV(0); + try { + joueur1.getComs().close(); + } catch (IOException e) {} + try { + joueur2.getComs().close(); + } catch (IOException e) {} } //annonce du vainqueur et du perdant @@ -78,21 +85,38 @@ public class Match extends Thread { joueur1.win(); joueur2.lose(); } + joueur1.getComs().close(); + joueur2.getComs().close(); } - //enchainement d'action que fait un joueur durant son tour + /** + * enchainement d'acction effectué durant un tours + * @param joueur joueur effectuant les actions + * @throws IOException + */ private void tour(Joueur joueur) throws IOException { //on affiche le message du debut de tour enemie Joueur enemy = joueur.equals(joueur1) ? joueur2 : joueur1; + + //si la main du joeur n'est pas pleine + if(!joueur.isHandFull())joueur.draw(1); //pioche 1 carte + else{ + //sinon on pert une carte + joueur.meule(1); + } + //on prepare la mana + joueur.prepMana(); + //on dit au joeur 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.draw(1); //pioche 1 carte - + joueur.mainPhase1(enemy,board); //Joue autant de carte qu'il veut/peut battlePhase(joueur);//lance des attaques à son adversaire qui peut répliquer - //ne sera peut-ếtre pas utilisé vu que on sapproche trop vite de la datte butoire - joueur.endPhase();//fin du tour du @joueur peut être utiliser pour les actions auto des cartes + //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) { diff --git a/src/game/PlayerTesteur.java b/src/game/PlayerTesteur.java index 49a181c..c84319c 100644 --- a/src/game/PlayerTesteur.java +++ b/src/game/PlayerTesteur.java @@ -3,8 +3,12 @@ package game; import java.io.IOException; public class PlayerTesteur { - - + + /** + * test si un joueur est planté ou non + * @param com un ComsJoeur correspondant au joueur + * @return false si le joeur est hs + */ public static boolean playerTest(ComsJoueur com) { try { diff --git a/src/game/SimpleUDP.java b/src/game/SimpleUDP.java deleted file mode 100644 index acd5e62..0000000 --- a/src/game/SimpleUDP.java +++ /dev/null @@ -1,35 +0,0 @@ -package game; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.Socket; - -public class SimpleUDP { - private byte[] buf; - private DatagramSocket uDPServeur; - private InetAddress address; - private static int port; - - public SimpleUDP(DatagramSocket uDPServeur,Socket baseSocket) - { - this.uDPServeur=uDPServeur; - this.address=baseSocket.getInetAddress(); - port = baseSocket.getPort(); - } - - public void sendPacket(String message) throws IOException - { - DatagramPacket packet - = new DatagramPacket(buf, buf.length, address, port); - uDPServeur.send(packet); - } - - public String recivePacket() throws IOException - { - DatagramPacket packet = new DatagramPacket(buf, buf.length); - uDPServeur.receive(packet); - return new String(packet.getData(), 0, packet.getLength()); - } -} diff --git a/src/game/cards/Card.java b/src/game/cards/Card.java index 71710a0..2c627af 100644 --- a/src/game/cards/Card.java +++ b/src/game/cards/Card.java @@ -25,7 +25,16 @@ public abstract class Card{ return health; } + /** + * l'attack par defaut des cartes + * @return + */ public abstract int getDefaultAttack(); + + /** + * les point de vie par default de la carte + * @return + */ public abstract int getDefaultHealth(); /** diff --git a/src/game/cards/CardRegistery.java b/src/game/cards/CardRegistery.java index e1a4ea5..bb80fa7 100644 --- a/src/game/cards/CardRegistery.java +++ b/src/game/cards/CardRegistery.java @@ -94,6 +94,9 @@ import game.cards.Renaissance.Rennaissance_Skanderberg; import game.cards.Renaissance.Rennaissance_Succession_Bourgogne; import game.cards.Renaissance.Rennaissance_Vlad; +/** + * cette carte est un registre contenant toutes les cartes cela permet de sérialisé les cartes entre le client et le servuer avec un minimum d'information + */ public class CardRegistery { public static List> registry; @@ -204,25 +207,32 @@ public class CardRegistery { registry.add(Moyen_Age_Pouvoir_Du_Franc.class); } + /** + * retourne l'index de la carte donné en argument + * @param class1 la class de la carte + * @return index + */ public static int get(Class class1) { - checkregistry(); + checkRegistry(); int a = registry.indexOf(class1); return a != -1 ? a : 0; } + /** + * retourne la class de la carte a l'index donné + * @param index index de la class + * @return class de la carte + */ public static Class get(int index) { - checkregistry(); + checkRegistry(); if(registry.size() <= index || index < 0) return null; return registry.get(index); } - - public static int get(Card card) { - checkregistry(); - return get(card.getClass()); - } - - public static void checkregistry() + /** + * verifie si le registre existe sinon le crée + */ + private static void checkRegistry() { if(registry == null)initCardRegistery(); } diff --git a/src/game/deck/Deck.java b/src/game/deck/Deck.java index a2119fe..0ed0f77 100644 --- a/src/game/deck/Deck.java +++ b/src/game/deck/Deck.java @@ -1,6 +1,8 @@ package game.deck; +import java.util.ArrayList; import java.util.Collections; +import java.util.List; import java.util.Stack; import game.cards.Card; @@ -9,9 +11,36 @@ public abstract class Deck { public abstract Stack getCards(); + /** + * mélange le deck + * /!\ il faut envoyer le deck au client une fois mélanger + */ public void shuffle() { Collections.shuffle(getCards()); } + /** + * retire une carte de deck + * @return la carte retirer + */ + public Card draw() + { + return getCards().pop(); + } + + /** + * retire une liste de carte + * @param amount + * @return + */ + public List draw(int amount) + { + List cards = new ArrayList<>(); + for(int i = 0 ; i < amount ; i++) + { + cards.add(draw()); + } + return cards; + } } diff --git a/src/game/deck/DeckRegistery.java b/src/game/deck/DeckRegistery.java index fd53072..4d0658b 100644 --- a/src/game/deck/DeckRegistery.java +++ b/src/game/deck/DeckRegistery.java @@ -1,6 +1,19 @@ package game.deck; +/** + * registre de deck + * le client ne sais pas quelles cartes apartienne a quel deck + * cette information est conservé uniquement sur le serveur donc le client demande un deck + * et le serveur le sert + * d'ou l'interet d'un registre de deck + */ public class DeckRegistery { + + /** + * retourne un nouveau deck en fonction du nom donné + * @param name + * @return + */ public static Deck get(String name) { switch (name.trim()) { @@ -11,7 +24,7 @@ public class DeckRegistery { case "renaissance": return new Renaissance(); default: - System.out.println(name); + System.out.println("deck non trouvé :"+name); return new MoyeneAge(); } }