diff --git a/bin/game/Joueur.class b/bin/game/Joueur.class index 5041bb8..d90873c 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 fec2052..edb92c1 100644 Binary files a/bin/game/Match.class and b/bin/game/Match.class differ diff --git a/bin/game/deck/Deck.class b/bin/game/deck/Deck.class index 89e4469..a016fac 100644 Binary files a/bin/game/deck/Deck.class and b/bin/game/deck/Deck.class differ diff --git a/src/game/Joueur.java b/src/game/Joueur.java index fbed9f9..a7f7349 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -34,7 +34,7 @@ public class Joueur { /** * cette fonction permet d'obtenir le deck du joueur et de préparer la main - * + * /!\\ l'appele de cette fonction doit être protegé par la verification de la tille du deck * @throws IOException */ public void requestDataEarlyGameData() throws IOException { @@ -54,7 +54,7 @@ public class Joueur { /** * cette fonction permet de pioche une quantité donné - * + * /!\\ l'appele de cette fonction doit être protegé par la verification de la tille du deck * @param amount la quantié * @throws IOException */ @@ -388,7 +388,7 @@ public class Joueur { return true; } - private void updateHp(Joueur adversaire) throws IOException { + public void updateHp(Joueur adversaire) throws IOException { coms.send(Command.SET_HP); coms.send(pV); adversaire.coms.send(Command.SET_ENEMY_HP); @@ -508,7 +508,7 @@ public class Joueur { * @param amount * @return true si les pv du joueur on attein zero */ - private boolean takeDamage(int amount) + public boolean takeDamage(int amount) { pV -= amount; pV = pV > 0 ? pV : 0; @@ -530,4 +530,8 @@ public class Joueur { } } + + public Deck getDeck() { + return deck; + } } diff --git a/src/game/Match.java b/src/game/Match.java index cf7f431..9aabda9 100644 --- a/src/game/Match.java +++ b/src/game/Match.java @@ -105,11 +105,26 @@ public class Match extends Thread { //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); + if(!joueur.getDeck().isEmpty()) + { + if(!joueur.isHandFull())joueur.draw(1); //pioche 1 carte + else{ + //sinon on pert une carte + joueur.meule(1); + } + }else { + joueur.sendMessage("Ton deck est vide tu ne recevera plus de carte"); + //on prends des degats a chaque tours sans carte + if(joueur.takeDamage(1)) + { + //on ne démare pas le tours vu que le joueur est mort + return; + }else { + joueur.updateHp(enemy); + } } + + //on prepare la mana joueur.prepMana(); diff --git a/src/game/deck/Deck.java b/src/game/deck/Deck.java index 0ed0f77..fd2a07c 100644 --- a/src/game/deck/Deck.java +++ b/src/game/deck/Deck.java @@ -43,4 +43,9 @@ public abstract class Deck { } return cards; } + + public boolean isEmpty() + { + return getCards().isEmpty(); + } }