diff --git a/design_pattern/src/modele/DialogueTerminal.java b/design_pattern/src/modele/DialogueTerminal.java index 904b8645bf4a38d0cb5930d3f00e8f38e16ebcda..065f8ff5e4d9bfc3832f45f854c473d837aa47ae 100644 --- a/design_pattern/src/modele/DialogueTerminal.java +++ b/design_pattern/src/modele/DialogueTerminal.java @@ -40,6 +40,10 @@ public class DialogueTerminal { while (finDePartie == 0){ jouer(scan); + if (jeu.getEquipeEnnemi().getTaille() > 0){ + attaqueEnnemi(); + } + annonceFinDeTour(); } } @@ -50,7 +54,6 @@ public class DialogueTerminal { switch (action){ case 0: attaquer(scan); - annonceFinDeTour(); break; case 1: jeu.ameliorerEquipe(jeu.getEquipe()); @@ -154,13 +157,13 @@ public class DialogueTerminal { private void choixStrategie(Scanner scan){ int strat = -1; + Personnage personnage = jeu.getEquipe().getPersonnage(jeu.getNbAttaqueEquipe()% jeu.tailleEquipe()); while (strat < 0 || strat > 2) { - System.out.println("Votre personnage : " + jeu.getEquipe().getPersonnage(jeu.getNbAttaqueEquipe()) + " va attaquer" + - "le personnage ennemi : " + jeu.getEquipeEnnemi().getPersonnage(jeu.getNbAttaqueEquipe())); + System.out.println("Votre personnage : " + personnage + " va attaquer" + + " le personnage ennemi : " + jeu.getEquipeEnnemi().getPersonnage(jeu.getNbAttaqueEquipe()% jeu.tailleEquipeEnnemi())); System.out.println("Choisissez votre stratégie pour ce tour :\n0: Neutre\n1: Agressif\n2: Défensif"); strat = Integer.parseInt(scan.nextLine()); } - Personnage personnage = jeu.getEquipe().getPersonnage(jeu.getNbAttaqueEquipe()); switch (strat) { case 0: personnage.setStrategie(new ConcreteStrategieNeutre()); @@ -223,6 +226,9 @@ public class DialogueTerminal { annonceEtatEnnemi(); } + private void attaqueEnnemi(){ + jeu.produireAttaque(jeu.getEquipeEnnemi()); + } private void annonceEtat(){ for (Personnage p : jeu.getEquipe().getEquipe()){ if (p.getEtat() != null){ diff --git a/design_pattern/src/modele/Jeu.java b/design_pattern/src/modele/Jeu.java index 9035d09f81588bf04dfbd239e66747a1ef55b8bd..fbcdd88361cc8230a38148ad4a2bad08d72a34f4 100644 --- a/design_pattern/src/modele/Jeu.java +++ b/design_pattern/src/modele/Jeu.java @@ -26,7 +26,11 @@ public class Jeu implements Facade { @Override public void produireAttaque(Equipe equipe) { - equipe.getPersonnage(nbAttaqueEquipe).attaquer(getEquipeEnnemi().getPersonnage(getEquipeEnnemi().getTaille()-1)); + if (equipe.equals(this.equipe)){ + equipe.getPersonnage(nbAttaqueEquipe).attaquer(getEquipeEnnemi().getPersonnage(getEquipeEnnemi().getTaille()-1)); + }else { + equipe.getPersonnage(nbAttaqueEquipe).attaquer(getEquipe().getPersonnage(getEquipe().getTaille()-1)); + } if (nbAttaqueEquipe == (Configuration.getInstance().getTailleMaxEquipe() - 1)){ nbAttaqueEquipe = 0; }else {