lien Etat et strategie

This commit is contained in:
CCAZOT
2015-01-28 18:13:01 +01:00
parent 728a8f31a6
commit 3215a06a9c
7 changed files with 161 additions and 4 deletions

View File

@@ -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();
}

View 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
}
}

View File

@@ -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
}
}

View File

@@ -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);
}
}