Skip to content
Snippets Groups Projects
Commit ffb91d75 authored by tompotio's avatar tompotio
Browse files

V9

parent 9d6b01c3
Branches master
Tags V9
No related merge requests found
package Commande; package Commande;
import DP.Commande.*; import DP.Commande.*;
import DP.Composite.EquipeI;
import Partie.Partie;
import java.util.Map;
public class CommandeSupprimerEquipe extends Commande{ public class CommandeSupprimerEquipe extends Commande{
private Map<String,EquipeI> equipes;
public CommandeSupprimerEquipe(Partie partie){
super(partie);
this.equipes = partie.getEquipes();
}
@Override @Override
public void undo() { public void undo() {
partie.setEquipes(equipes);
} }
@Override @Override
......
package DP.Commande; package DP.Commande;
import Partie.Partie;
public abstract class Commande { public abstract class Commande {
protected Partie partie;
protected Commande(Partie partie){
this.partie = partie;
}
public abstract void undo(); public abstract void undo();
public abstract void redo(); public abstract void redo();
......
package Etat.EtatFacade; package Etat.EtatFacade;
import Commande.CommandeSupprimerEquipe;
import DP.Composite.EquipeI; import DP.Composite.EquipeI;
import DP.Etat.EtatFacade; import DP.Etat.EtatFacade;
import DP.Facade.Facade; import DP.Facade.Facade;
import Personnage.*; import Personnage.*;
import Strategie.Agressive;
import Strategie.Defensive;
import Strategie.Neutre;
public class GererEquipe extends EtatFacade { public class GererEquipe extends EtatFacade {
private CommandeSupprimerEquipe commandeSupprimerEquipe;
public GererEquipe(Facade facade){ public GererEquipe(Facade facade){
super(facade); super(facade);
commandeSupprimerEquipe = new CommandeSupprimerEquipe(facade.getPartie());
} }
@Override @Override
public void creerPersonnage() { public void creerPersonnage() {
...@@ -56,10 +62,6 @@ public class GererEquipe extends EtatFacade { ...@@ -56,10 +62,6 @@ public class GererEquipe extends EtatFacade {
gererEquipe(); gererEquipe();
break; break;
case 2: case 2:
String choixSupp = lireString("Entrez le nom de l'équipe à supprimer ");
facade.getPartie().supprimerEquipe(choixSupp);
System.out.println("1. \u001B[30mContinuer\u001B[0m");
System.out.println("2. \u001B[31mRetour\u001B[0m");
supprimerEquipe(); supprimerEquipe();
case 3: case 3:
while(true) { while(true) {
...@@ -101,18 +103,52 @@ public class GererEquipe extends EtatFacade { ...@@ -101,18 +103,52 @@ public class GererEquipe extends EtatFacade {
System.out.println("1. \u001B[30mLe personnage n'existe pas ou a été mal orthographié...\u001B[0m"); System.out.println("1. \u001B[30mLe personnage n'existe pas ou a été mal orthographié...\u001B[0m");
gererEquipe(); gererEquipe();
} }
System.out.println("1. \u001B[30mNeutre\u001B[0m");
System.out.println("2. \u001B[31mAgressif\u001B[0m");
System.out.println("3. \u001B[36mDefensif\u001B[0m");
int choix = lireEntier("Quelle stratégie choisissez-vous de lui appliquer ? (un chiffre): ");
switch (choix) {
case 1:
personnage.setStrategie(new Neutre());
break;
case 2:
personnage.setStrategie(new Agressive());
break;
case 3:
personnage.setStrategie(new Defensive());
break;
default:
System.out.println("Option invalide. Veuillez choisir une option valide.");
selectionnerStrategie();
}
System.out.println("La stratégie a bien été ajoutée !");
gererEquipe();
} }
@Override @Override
public void supprimerEquipe() { public void supprimerEquipe() {
int choixsuivant = lireEntier("Choix : "); int choixsuivant = lireEntier("Entrez l'action a faire : ");
System.out.println("1. \u001B[30mContinuer\u001B[0m");
System.out.println("2. \u001B[31mRetour\u001B[0m");
System.out.println("3. \u001B[36mAnnuler\u001B[0m");
switch (choixsuivant) { switch (choixsuivant) {
case 1: case 1:
String choixSupp = lireString("Entrez le nom de l'équipe à supprimer : ");
if(facade.getPartie().supprimerEquipe(choixSupp) == null){
System.out.println("1. \u001B[30mL'équipe a été mal orthographiée ou n'existe pas...\u001B[0m");
}else{
System.out.println("1. \u001B[30mL'équipe a été correctement supprimée !\u001B[0m");
}
supprimerEquipe(); supprimerEquipe();
case 2: case 2:
nettoyerTerminal(); nettoyerTerminal();
gererEquipe(); gererEquipe();
break; break;
case 3:
System.out.println("1. \u001B[30mLa dernière action de suppression d'équipe a été annulée\u001B[0m");
commandeSupprimerEquipe.undo();
default: default:
System.out.println("Option invalide. Veuillez choisir une option valide."); System.out.println("Option invalide. Veuillez choisir une option valide.");
} }
......
...@@ -35,7 +35,7 @@ public class Joue extends EtatFacade { ...@@ -35,7 +35,7 @@ public class Joue extends EtatFacade {
for(EquipeI equipe : facade.getPartie().getEquipeActuelle()){ for(EquipeI equipe : facade.getPartie().getEquipeActuelle()){
Personnage personnage = (Personnage) equipe; Personnage personnage = (Personnage) equipe;
int degat = personnage.attaquer(); int degat = personnage.attaquer();
System.out.println(personnage.getNom() + " a fait " + degat); System.out.println(personnage.getNom() + " a fait " + degat + " dégats");
ennemi.estAttaque(degat); ennemi.estAttaque(degat);
if(ennemi.getPointsDeVie() <= 0){ if(ennemi.getPointsDeVie() <= 0){
mort = true; mort = true;
......
...@@ -109,8 +109,8 @@ public class Partie implements Iterable<EquipeI> { ...@@ -109,8 +109,8 @@ public class Partie implements Iterable<EquipeI> {
return ennemiAAttaquer; return ennemiAAttaquer;
} }
public void supprimerEquipe(String nomEquipe){ public EquipeI supprimerEquipe(String nomEquipe){
equipes.remove(nomEquipe); return equipes.remove(nomEquipe);
} }
public boolean equipeVide(){ public boolean equipeVide(){
...@@ -132,4 +132,12 @@ public class Partie implements Iterable<EquipeI> { ...@@ -132,4 +132,12 @@ public class Partie implements Iterable<EquipeI> {
} }
return null; return null;
} }
public Map<String,EquipeI> getEquipes() {
return equipes;
}
public void setEquipes(Map<String,EquipeI> equipes){
this.equipes = equipes;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment