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;
import DP.Commande.*;
import DP.Composite.EquipeI;
import Partie.Partie;
import java.util.Map;
public class CommandeSupprimerEquipe extends Commande{
private Map<String,EquipeI> equipes;
public CommandeSupprimerEquipe(Partie partie){
super(partie);
this.equipes = partie.getEquipes();
}
@Override
public void undo() {
partie.setEquipes(equipes);
}
@Override
......
package DP.Commande;
import Partie.Partie;
public abstract class Commande {
protected Partie partie;
protected Commande(Partie partie){
this.partie = partie;
}
public abstract void undo();
public abstract void redo();
......
package Etat.EtatFacade;
import Commande.CommandeSupprimerEquipe;
import DP.Composite.EquipeI;
import DP.Etat.EtatFacade;
import DP.Facade.Facade;
import Personnage.*;
import Strategie.Agressive;
import Strategie.Defensive;
import Strategie.Neutre;
public class GererEquipe extends EtatFacade {
private CommandeSupprimerEquipe commandeSupprimerEquipe;
public GererEquipe(Facade facade){
super(facade);
commandeSupprimerEquipe = new CommandeSupprimerEquipe(facade.getPartie());
}
@Override
public void creerPersonnage() {
......@@ -56,10 +62,6 @@ public class GererEquipe extends EtatFacade {
gererEquipe();
break;
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();
case 3:
while(true) {
......@@ -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");
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
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) {
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();
case 2:
nettoyerTerminal();
gererEquipe();
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:
System.out.println("Option invalide. Veuillez choisir une option valide.");
}
......
......@@ -35,7 +35,7 @@ public class Joue extends EtatFacade {
for(EquipeI equipe : facade.getPartie().getEquipeActuelle()){
Personnage personnage = (Personnage) equipe;
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);
if(ennemi.getPointsDeVie() <= 0){
mort = true;
......
......@@ -109,8 +109,8 @@ public class Partie implements Iterable<EquipeI> {
return ennemiAAttaquer;
}
public void supprimerEquipe(String nomEquipe){
equipes.remove(nomEquipe);
public EquipeI supprimerEquipe(String nomEquipe){
return equipes.remove(nomEquipe);
}
public boolean equipeVide(){
......@@ -132,4 +132,12 @@ public class Partie implements Iterable<EquipeI> {
}
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