diff --git a/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java b/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java index 859391d..88b0d25 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesBattleSnow.java @@ -1,10 +1,10 @@ package Fabriques.Personnages; -import java.util.ArrayList; - import Observateur.Organisation; import Person.Personnage; +import java.util.ArrayList; + public class FabriquePersonnagesBattleSnow extends FabriquePersonnagesAbstraite { @Override diff --git a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java index 726d9cb..0f256b3 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesBattleZone.java @@ -1,5 +1,7 @@ package Fabriques.Personnages; +import Comportements.ComportementAction; +import Comportements.ComportementActionChangerCouleurCase; import Observateur.Organisation; import Person.Personnage; import Person.PersonnageBattleZone; @@ -7,17 +9,18 @@ import Person.PersonnageBattleZone; import java.util.ArrayList; public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite { + protected ComportementAction parDefaut = new ComportementActionChangerCouleurCase(); @Override public ArrayList CreerPersonages(Organisation o) { ArrayList list = new ArrayList(); - PersonnageBattleZone p1 = new PersonnageBattleZone("Bob",100.0,1.0,1.0); + PersonnageBattleZone p1 = new PersonnageBattleZone("Bob", 100.0, 1.0, 1.0, parDefaut); list.add(p1); - PersonnageBattleZone p2 = new PersonnageBattleZone("Jo",100.0,1.0,1.0); + PersonnageBattleZone p2 = new PersonnageBattleZone("Jo", 100.0, 1.0, 1.0, parDefaut); list.add(p2); - PersonnageBattleZone p3 = new PersonnageBattleZone("Max",100.0,1.0,1.0); + PersonnageBattleZone p3 = new PersonnageBattleZone("Max", 100.0, 1.0, 1.0, parDefaut); list.add(p3); - PersonnageBattleZone p4 = new PersonnageBattleZone("Zac",100.0,1.0,1.0); + PersonnageBattleZone p4 = new PersonnageBattleZone("Zac", 100.0, 1.0, 1.0, parDefaut); list.add(p4); return list; } diff --git a/src/Fabriques/Personnages/FabriquePersonnagesFootball.java b/src/Fabriques/Personnages/FabriquePersonnagesFootball.java index 57e3b7f..018ac7e 100644 --- a/src/Fabriques/Personnages/FabriquePersonnagesFootball.java +++ b/src/Fabriques/Personnages/FabriquePersonnagesFootball.java @@ -1,5 +1,7 @@ package Fabriques.Personnages; +import Comportements.ComportementAction; +import Comportements.ComportementActionTirerBalon; import Observateur.Organisation; import Person.Arbitre; import Person.JoueurDeChamp; @@ -8,6 +10,7 @@ import Person.Personnage; import java.util.ArrayList; public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite { + ComportementAction parDefaut = new ComportementActionTirerBalon(); @Override public ArrayList CreerPersonages(Organisation o) { @@ -17,11 +20,11 @@ public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite { // TODO: Add team 1 - JoueurDeChamp joueur = new JoueurDeChamp("Zidane"); - // TODO: Add players to team 1 - - - // TODO: Add team 2 + JoueurDeChamp joueur = new JoueurDeChamp("Zidane", parDefaut); + // TODO: Add players to team 1 + + + // TODO: Add team 2 // TODO: Add players to team 2 diff --git a/src/Person/Arbitre.java b/src/Person/Arbitre.java index ee93c64..91c73be 100644 --- a/src/Person/Arbitre.java +++ b/src/Person/Arbitre.java @@ -1,9 +1,12 @@ package Person; +import Comportements.ComportementActionSeDeplacer; + public class Arbitre extends Personnage { public Arbitre(String nom) { - super(nom); + // TODO: Not sure if this one is a "personnage" with actions/ + super(nom, new ComportementActionSeDeplacer()); } } diff --git a/src/Person/JoueurDeChamp.java b/src/Person/JoueurDeChamp.java index 4cb247f..e8eda2c 100644 --- a/src/Person/JoueurDeChamp.java +++ b/src/Person/JoueurDeChamp.java @@ -1,10 +1,12 @@ package Person; +import Comportements.ComportementAction; + public class JoueurDeChamp extends Personnage { - public JoueurDeChamp(String nom) { - super(nom); + public JoueurDeChamp(String nom, ComportementAction parDefaut) { + super(nom, parDefaut); } } diff --git a/src/Person/Personnage.java b/src/Person/Personnage.java index 6a66e25..d473155 100644 --- a/src/Person/Personnage.java +++ b/src/Person/Personnage.java @@ -1,6 +1,7 @@ package Person; import Cases.CaseAbstraite; +import Comportements.ComportementAction; import Composition.PersonnagesAbstraits; import Etats.EEtat; import Etats.EtatPersonnageAbstrait; @@ -14,9 +15,10 @@ public class Personnage extends PersonnagesAbstraits { protected double pointsDeVie; protected double force; protected double vitesse; + protected ComportementAction action; private EtatPersonnageAbstrait etatCourant; - protected Personnage(String name) { + protected Personnage(String name, ComportementAction c) { this.nom = name; this.pointsDeVie = 100; this.force = 10; @@ -24,20 +26,22 @@ public class Personnage extends PersonnagesAbstraits { this.caseCourante = null; this.etatCourant = new EtatPersonnageOK(this); + this.action = c; } - - protected Personnage(String name, double lifePoint, double strength, double speed) { - this.nom = name; - this.pointsDeVie=lifePoint; + + protected Personnage(String name, double lifePoint, double strength, double speed, ComportementAction a) { + this.nom = name; + this.pointsDeVie=lifePoint; this.force=strength; this.vitesse=speed; this.caseCourante=null; this.etatCourant= new EtatPersonnageOK(this); - } - - - public void ChangeEtat(EEtat NouvelEtat) + this.action = a; + } + + + public void ChangeEtat(EEtat NouvelEtat) { switch(NouvelEtat) { diff --git a/src/Person/PersonnageBattleGoal.java b/src/Person/PersonnageBattleGoal.java index 32e9bd8..f225b57 100644 --- a/src/Person/PersonnageBattleGoal.java +++ b/src/Person/PersonnageBattleGoal.java @@ -1,11 +1,11 @@ package Person; -import Observateur.Organisation; +import Comportements.ComportementAction; public class PersonnageBattleGoal extends Personnage { - protected PersonnageBattleGoal(String name, double lifePoint, double strength, double speed) { - super(name, lifePoint, strength, speed); + protected PersonnageBattleGoal(String name, double lifePoint, double strength, double speed, ComportementAction parDefaut) { + super(name, lifePoint, strength, speed, parDefaut); // TODO Auto-generated constructor stub } diff --git a/src/Person/PersonnageBattleSnow.java b/src/Person/PersonnageBattleSnow.java index 48d8cd4..c0c2f7d 100644 --- a/src/Person/PersonnageBattleSnow.java +++ b/src/Person/PersonnageBattleSnow.java @@ -1,11 +1,11 @@ package Person; -import Observateur.Organisation; +import Comportements.ComportementAction; public class PersonnageBattleSnow extends Personnage{ - protected PersonnageBattleSnow(String name, double lifePoint, double strength, double speed) { - super(name, lifePoint, strength, speed); + protected PersonnageBattleSnow(String name, double lifePoint, double strength, double speed, ComportementAction parDefaut) { + super(name, lifePoint, strength, speed, parDefaut); // TODO Auto-generated constructor stub } diff --git a/src/Person/PersonnageBattleZone.java b/src/Person/PersonnageBattleZone.java index 3f31ccc..10917ac 100644 --- a/src/Person/PersonnageBattleZone.java +++ b/src/Person/PersonnageBattleZone.java @@ -1,6 +1,6 @@ package Person; -import Observateur.Organisation; +import Comportements.ComportementAction; import java.awt.*; import java.util.Random; @@ -8,10 +8,10 @@ import java.util.Random; public class PersonnageBattleZone extends Personnage { Color couleur; - public PersonnageBattleZone(String name, double lifePoint, double strength, double speed) { - super(name, lifePoint, strength, speed); - // TODO Auto-generated constructor stub - + public PersonnageBattleZone(String name, double lifePoint, double strength, double speed, ComportementAction parDefaut) { + super(name, lifePoint, strength, speed, parDefaut); + // TODO Auto-generated constructor stub + // Couleur Aléatoire Random rand = new Random(); diff --git a/src/SimulationJeu.java b/src/SimulationJeu.java index 885ebbc..8481844 100644 --- a/src/SimulationJeu.java +++ b/src/SimulationJeu.java @@ -59,8 +59,7 @@ public class SimulationJeu { boolean continuer = true; while (continuer) { - // Todo propagation des informations - // Todo Propagation des ordres + for (Personnage p : personnages) { p.AnalyseSituation(); p.Execution();