lien Etat et strategie
This commit is contained in:
@@ -9,4 +9,8 @@ public abstract class EtatPersonnageAbstrait {
|
||||
protected EtatPersonnageAbstrait(Personnage perso){
|
||||
this.joueur = perso;
|
||||
}
|
||||
|
||||
public abstract void AnalyseJoueur();
|
||||
public abstract void ExecutionJoueur();
|
||||
public abstract void ConflitJoueur();
|
||||
}
|
||||
|
32
src/Etats/EtatPersonnageCombattant.java
Normal file
32
src/Etats/EtatPersonnageCombattant.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package Etats;
|
||||
|
||||
import Person.Personnage;
|
||||
|
||||
public class EtatPersonnageCombattant extends EtatPersonnageAbstrait {
|
||||
|
||||
//Etat d'un personnage avec un marteau, cible les joueurs et ignore le reste.
|
||||
|
||||
protected EtatPersonnageCombattant(Personnage perso) {
|
||||
super(perso);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public void AnalyseJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ExecutionJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ConflitJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -3,10 +3,37 @@ package Etats;
|
||||
import Person.Personnage;
|
||||
|
||||
public class EtatPersonnageKO extends EtatPersonnageAbstrait {
|
||||
|
||||
private int nbTourKO;
|
||||
|
||||
public EtatPersonnageKO(Personnage perso) {
|
||||
super(perso);
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
this.nbTourKO = 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void AnalyseJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ExecutionJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
nbTourKO--;
|
||||
if (nbTourKO==0){
|
||||
this.joueur.ChangeEtat(EEtat.EtatOK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ConflitJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,12 +1,73 @@
|
||||
package Etats;
|
||||
|
||||
import Comportements.ComportementAction;
|
||||
import Comportements.ComportementActionChangerCouleurCase;
|
||||
import Comportements.ComportementActionRamasserNeige;
|
||||
import Comportements.ComportementActionSeDeplacer;
|
||||
import Comportements.ComportementActionTirerBalon;
|
||||
import Comportements.ComportementActionTirerBouleDeNeige;
|
||||
import Comportements.EAction;
|
||||
import Person.Personnage;
|
||||
|
||||
public class EtatPersonnageOK extends EtatPersonnageAbstrait {
|
||||
|
||||
private ComportementAction Action;
|
||||
|
||||
public EtatPersonnageOK(Personnage perso) {
|
||||
super(perso);
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
this.ChangerAction(EAction.Null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void AnalyseJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ExecutionJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
Action.executerAction(this.joueur.getCaseCourante());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ConflitJoueur() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void ChangerAction(EAction nouvelAction){
|
||||
|
||||
switch(nouvelAction)
|
||||
{
|
||||
case ChangerCouleurCase:
|
||||
Action = new ComportementActionChangerCouleurCase();
|
||||
break;
|
||||
case RamasserNeige:
|
||||
Action = new ComportementActionRamasserNeige();
|
||||
break;
|
||||
case SeDeplacer:
|
||||
Action = new ComportementActionSeDeplacer();
|
||||
break;
|
||||
case TirerBalon:
|
||||
Action = new ComportementActionTirerBalon();
|
||||
break;
|
||||
case TirerBouleDeNeige:
|
||||
Action = new ComportementActionTirerBouleDeNeige();
|
||||
break;
|
||||
case Null:
|
||||
Action = null;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
this.joueur.setAction(nouvelAction);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user