From 50f157d9637739004d3dfa96cb878d9ee80da860 Mon Sep 17 00:00:00 2001 From: marc barbier Date: Wed, 6 Jan 2021 18:44:12 +0100 Subject: [PATCH] ajout de 3 effet de caret --- bin/Serveur.class | Bin 2208 -> 2208 bytes bin/game/Joueur.class | Bin 8522 -> 8852 bytes bin/game/cards/MoyenAge/Moyen_Age_Ferré.class | Bin 540 -> 557 bytes bin/game/cards/SpecialCard/HasteCard.class | Bin 0 -> 333 bytes bin/game/cards/SpecialCard/ICanDoge.class | Bin 0 -> 120 bytes bin/game/cards/SpecialCard/IToxic.class | Bin 0 -> 116 bytes src/Serveur.java | 1 + src/game/Joueur.java | 43 ++++++++++++++++-- src/game/cards/MoyenAge/Moyen_Age_Ferré.java | 4 +- src/game/cards/SpecialCard/HasteCard.java | 12 +++++ src/game/cards/SpecialCard/ICanDoge.java | 5 ++ src/game/cards/SpecialCard/IToxic.java | 5 ++ 12 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 bin/game/cards/SpecialCard/HasteCard.class create mode 100644 bin/game/cards/SpecialCard/ICanDoge.class create mode 100644 bin/game/cards/SpecialCard/IToxic.class create mode 100644 src/game/cards/SpecialCard/HasteCard.java create mode 100644 src/game/cards/SpecialCard/ICanDoge.java create mode 100644 src/game/cards/SpecialCard/IToxic.java diff --git a/bin/Serveur.class b/bin/Serveur.class index 03aaa4c49d0ae69ac6b2fbc69b401b2a85df1d1b..dc5862bb3d6c689f21e1acfdeb619f7c066ff108 100644 GIT binary patch delta 214 zcmWN~yDP;39ES1FkMhfOoaA<-Tsm?+$#IF?$u*Z^Fj|zdn5;5dl=uVAXgs6YU{Fda z#b!}T87;(jdY9*Yo>I1yE&o=XWK^n=s#UE{vw9sGEu!@MvGDwlT}8G5`VxMjb}6)3`!}b z*epsZqlNfR@ABz+OSw|6{9ARBQ7J1`qgt&dbvo4R(x6A9zSseIgPKifF{#zGHgno7 zMzyNjMwGjH?M1z>-+_WdLyinPHsaK%Gh@z;y9nhflxtJUA>93$w6g{WRbh-_6rJa^8SPG@>I0#yVQi|Q6wm=kZrGWL(nQjc7E<`VNpS#I0XvD0tV8=1S5&t55$Oxkq9IvY6Rkaof0(0%;dd$&t1;B-@ES( z<#rbY4Lv+N0AM;dod|l(9PxB&NuAcB*_>K^wQZ5RskXklx5HdWkBN;$e6_aHVXM@d z?9H}C4UWoM&6y{Tt>`6JYi(r!n~7k%quJf$YHM~ls{*)+2pR!2drJ^*aCHboy3c@f^Vv~@BRM;>X*+@e!(ou{I zl){P%Jc&9?QFlTe<{45kQ!28gVwTdvUN+_nQlR?7ijDKdTA+f%i;bmXm8m7+jZvCd z%MpP}VYOod9Kul5do#R}wGHq?vq)NnP_#(OY7x*X^lf+s?a0R(6ruymuofSq6Q{8r z{n&`}*o0591y`{ZU!V)uu^qo)7kK?_6icJI+hjoSMNz(Jup zjA$H@bNEo`j>^=>Fcrr!8z)hOPf(6N(R&&za0c}_E28>^{G1S;7m@+=2>E*$#0gv! z^b#)MGOpk=T*HuZjs1$BtGUrt=C2WiZxD`eh37kUHoD1jQ`mn%Fn&Z7ZpqpGgn02M z;%8M5)5zPZFDBb~7e?Guf5w#XH&tkv&p%YRr6SM|K^%o}8q|GDsnIOnXjK-Q!!Wfs zc9}U&{BaVEM;sG+8RsF5s&m}4p79b$MhH_7!&C`QMk>=Vh3S~Z3=~lwD{VN=sW`)F zILAy3a5@H=g&}6+OU}kE=HM>p;30E4ig_H(0*+@P(>Rwl7V#+-Gm|Bp!TEfS3-~-2 z%5M>0WGQR>nMx;@sM+z?!(K%oD`2K3I+r7oc9opa9abY~t$1~a=L!+GQe91$>hWur zLoflXvU+LHIE^7M=gc&uokCLjh-0)Eu3%C>vljQGYjFf?`miIzi(L_{ldHw(rPGVu zeayLFG3Z{om#$3zDE}S=Ta1Hj*oQ2=o!*;X+_8G$ieQr$R10hChTJ2Tj#vy{ zwj9EBUvir-c{o=`^ynHd%6xTe|52wSkD~g$d_Q*TBG&a_vqc7ZtWH!}Pr)-h+3_h*-Lj z$W=&Y3v%S1$2KfvJC?EoHT0l~>(I_Ouz?$}jhnHHThPs|*v~E;|=Ax`FD52x`6v-pAR*hhSUN4c2C=-??N zi^6%n&5+MXig>akEX7iA*eVmtPq*adOp%GqQn_Bf1O^$Ugs+HYlmVhe@+J7gDdmwc tK0uxcH{^d`-jeBmpXpbE4@bV%yyQfUkSd@AkAu(@z+d z6t1>D0~Xk8WS@$QODY;5V*Ktv_>s<@uw}@|CvaM{9qzymx62dgjOGYo6eo#Y^i#pO zxx^&sU_lI4VmXqr0#>BMrW)e4{7liVh8b%_mxWcZqX27BhHO+J2TnN9h+H%y50B%1 zRcv;fHc3RWM3hLxX7#?gL0=`BYNfL{^-e)`s$NjNpaylu;!SK8)Pe-Kkb(n}r&Thv zg&Ya340a&`UZLbiJObjrOKO+&pNJoD~n#gwi zu3kv?^2SMPnf|8mzNM(Z1~5pK7DlKVTcbW!B%?ZQt6-eEZfi1G zMYf4G1u0Ao?Mw-hQEEQ5IG8Sm3>di@$+U}cEwY)7bu`aEnBfM@ zvIui5!8}Xx9k<{&mf=s9;|?ns$p^Wd)y&{lI#|O3Zf7BDxsf|rLZ?{k1nuHO+|50# zXXi57>ER=4EbXd!KVsMf6Ptx+3s&%e^4vFJZWnEbNS#RIV?yqrGN-Rk<)AcSnM`du zUt?R|6y`NnZq`|Kmtj|)^yFZ!MvsP<&a>i@RVTtejolmdiTYPj>i86^!V%PPD_=u* z0(&&%hf$u~j=LJ)5(;aqI*oy|s95yv|DSJI6SfX&*t-}vyc8F__tZV}q;QQyrkss3 zS+GkA?U6#gNTLsgau=}|mFzPAL$%p0;Qr(_Cmsy&&dQKRA+!NdOnp$ZyY diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class b/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class index f53cf81ed90d6e3a7020855cbef3ab4bb74e2b7b..d04e87bbcb57ee07735ac7db7aed43af8e8aedfa 100644 GIT binary patch delta 40 ucmbQkvX*6nrL01FVs5H_a$-?Rv3_ttYI0^`jx&&>?~zzslDg6LIwJrax(GKXb?B@cgkVs5H_a$-?RvHr%e>x=+f$_N?& diff --git a/bin/game/cards/SpecialCard/HasteCard.class b/bin/game/cards/SpecialCard/HasteCard.class new file mode 100644 index 0000000000000000000000000000000000000000..100b3ccae5eeba15b13c867a41f59fd62ad365a3 GIT binary patch literal 333 zcmZvXy-ou$5QJy%%>9@nf$#!A1u3|aA}A7ygeXolLFqS+1%^uw-8sA$4M-F`01t&& zM+l{$nejKW*Rx;WAD;j&aF`+@9NqKMmWJC!S5BX;aa>OX${X&y4W|@}(BHZhLPB!s zR?d$J@#)!&peD`2YQ)G3>>$w~>=r1Hh_|-0{>pncPco@;D|@?M&TV_g^V$*yRb#lG zaq9yAhRQ#Z4I3XL`l9A_X$-_toU&m})Sm7Rfw zkwG9Uu`E$PCowNw-#;lUHMxY5fh#z_v?w{%Ei)&Tk%1ScS`Va9A_X$-!mk?A~TttfrXJl zASPP`fsuh3Xg&xqGOz+k HCI&VDwFw-% literal 0 HcmV?d00001 diff --git a/src/Serveur.java b/src/Serveur.java index 8e956c1..964a355 100644 --- a/src/Serveur.java +++ b/src/Serveur.java @@ -10,6 +10,7 @@ import game.PlayerTesteur; public class Serveur { + @SuppressWarnings("resource") public static void main(String[] args) { final String host = "localhost"; final int port = 10430; diff --git a/src/game/Joueur.java b/src/game/Joueur.java index e4c997e..50e795d 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -5,6 +5,8 @@ import java.util.Iterator; import game.cards.Card; import game.cards.CardRegistery; +import game.cards.SpecialCard.ICanDoge; +import game.cards.SpecialCard.IToxic; import game.deck.Deck; import game.deck.DeckRegistery; @@ -329,7 +331,7 @@ public class Joueur { attackingCard.hasAttacked(); } else { if (!attackingCard.hasAlreadyAttacked()) { - handleAttackAgainstCard(attackingCard, carteCible, adversaire); + handleAttackAgainstCard(carteAttaquante, carteCible, adversaire); attackingCard.hasAttacked(); } } @@ -362,8 +364,10 @@ public class Joueur { } - private void handleAttackAgainstCard(Card attackingCard, String carteCible, Joueur adversaire) throws IOException { + private void handleAttackAgainstCard(String carteAttaquante, String carteCible, Joueur adversaire) throws IOException { Card attackedCard = adversaire.getBoard().getCardInZone(Integer.parseInt(carteCible)); + Card attackingCard = board.getCardInZone(Integer.parseInt(carteAttaquante)); + if (attackedCard == null) { throw new RuntimeException( @@ -371,7 +375,7 @@ public class Joueur { } boolean isDestroyed = attackedCard.takeDamage(attackingCard.getAttack()); - if (isDestroyed) { + if (isDestroyed || attackingCard instanceof IToxic) { // on suprime la carte du terrain board.setCard(Integer.parseInt(carteCible), null); @@ -394,6 +398,39 @@ public class Joueur { this.getComs().send(Command.SET_ADV_CARD_HP); this.getComs().send(carteCible); this.getComs().send(attackedCard.getHealth()); + + + //cette partie est le fightback C.A.D quand tu attaque une carte si elle survit elle te frape a son tour + if(attackedCard.getAttack() > 0 && !(attackingCard instanceof ICanDoge)) + { + isDestroyed = attackingCard.takeDamage(attackedCard.getAttack()); + if(isDestroyed) + { + // on suprime la carte du terrain + adversaire.board.setCard(Integer.parseInt(carteAttaquante), null); + + // demande a l'adversaire de retirer la carte de son terrain + adversaire.getComs().send(Command.DESTROY_ADV_CARD); + adversaire.getComs().send(carteAttaquante); + + // retire la carte au terrain adverse + this.getComs().send(Command.DESTROY_CARD); + this.getComs().send(carteAttaquante); + + // appelle les effet de quand la carte est détruite + // NOTE : non implémenter dans les cartes individuelles par manque de temps + attackedCard.onCardDestroyed(); + }else { + adversaire.getComs().send(Command.SET_CARD_HP); + adversaire.getComs().send(carteAttaquante); + adversaire.getComs().send(attackingCard.getHealth()); + + this.getComs().send(Command.SET_ADV_CARD_HP); + this.getComs().send(carteAttaquante); + this.getComs().send(attackingCard.getHealth()); + } + + } } } diff --git a/src/game/cards/MoyenAge/Moyen_Age_Ferré.java b/src/game/cards/MoyenAge/Moyen_Age_Ferré.java index d1a4430..8e38718 100644 --- a/src/game/cards/MoyenAge/Moyen_Age_Ferré.java +++ b/src/game/cards/MoyenAge/Moyen_Age_Ferré.java @@ -1,8 +1,8 @@ package game.cards.MoyenAge; -import game.cards.Card; +import game.cards.SpecialCard.HasteCard; -public class Moyen_Age_Ferré extends Card{ +public class Moyen_Age_Ferré extends HasteCard{ /** * retourne un entier coresspondant a l'attaque de la carte diff --git a/src/game/cards/SpecialCard/HasteCard.java b/src/game/cards/SpecialCard/HasteCard.java new file mode 100644 index 0000000..d0873e5 --- /dev/null +++ b/src/game/cards/SpecialCard/HasteCard.java @@ -0,0 +1,12 @@ +package game.cards.SpecialCard; + +import game.cards.Card; + +public abstract class HasteCard extends Card{ + public HasteCard() + { + super(); + resetAttack(); + } + +} diff --git a/src/game/cards/SpecialCard/ICanDoge.java b/src/game/cards/SpecialCard/ICanDoge.java new file mode 100644 index 0000000..ec75440 --- /dev/null +++ b/src/game/cards/SpecialCard/ICanDoge.java @@ -0,0 +1,5 @@ +package game.cards.SpecialCard; + +public interface ICanDoge { + +} diff --git a/src/game/cards/SpecialCard/IToxic.java b/src/game/cards/SpecialCard/IToxic.java new file mode 100644 index 0000000..7baa0cd --- /dev/null +++ b/src/game/cards/SpecialCard/IToxic.java @@ -0,0 +1,5 @@ +package game.cards.SpecialCard; + +public interface IToxic { + +}