From 7f05c622204bc8f4bff6f857a976110f51a1388c Mon Sep 17 00:00:00 2001 From: rosier8u <basile.rosier6@etu.univ-lorraine> Date: Sun, 17 Dec 2023 16:00:02 +0100 Subject: [PATCH] maj de la boucle de jeu --- design_pattern/src/modele/DialogueTerminal.java | 14 ++++++++++---- design_pattern/src/modele/Jeu.java | 6 +++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/design_pattern/src/modele/DialogueTerminal.java b/design_pattern/src/modele/DialogueTerminal.java index 904b864..065f8ff 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 9035d09..fbcdd88 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 { -- GitLab