Arbitre.
This commit is contained in:
parent
afdc5811c7
commit
6a840fc934
@ -4,7 +4,7 @@
|
||||
<entry_points version="2.0" />
|
||||
</component>
|
||||
<component name="IdProvider" IDEtalkID="5EBAA9F33699B0593DE250C306D65C2A" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
@ -1,5 +1,5 @@
|
||||
package Comportements;
|
||||
|
||||
public enum EAction {
|
||||
ChangerCouleurCase, SeDeplacer, TirerBalon, TirerBouleDeNeige
|
||||
ChangerCouleurCase, SeDeplacer, TirerBalon, Rien, TirerBouleDeNeige
|
||||
}
|
||||
|
15
src/Comportements/Rien.java
Normal file
15
src/Comportements/Rien.java
Normal file
@ -0,0 +1,15 @@
|
||||
package Comportements;
|
||||
|
||||
import Cases.CaseAbstraite;
|
||||
import Objets.ObjetAbstrait;
|
||||
import Person.Personnage;
|
||||
import utils.Tuple;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Rien implements ComportementAction {
|
||||
@Override
|
||||
public void executerAction(Personnage joueur, Tuple<ArrayList<Personnage>, ArrayList<ObjetAbstrait>, ArrayList<CaseAbstraite>> t) {
|
||||
|
||||
}
|
||||
}
|
@ -1,14 +1,13 @@
|
||||
package Fabriques.Personnages;
|
||||
|
||||
import Cases.CaseAbstraite;
|
||||
import Observateur.Organisation;
|
||||
import Person.Personnage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
abstract public class FabriquePersonnagesAbstraite {
|
||||
public abstract ArrayList<Personnage> CreerPersonages(Organisation o, CaseAbstraite[][] plateau);
|
||||
public abstract ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau);
|
||||
|
||||
protected void placement(ArrayList<Personnage> personnages, CaseAbstraite[][] plateau) {
|
||||
Random rand = new Random();
|
||||
|
@ -3,29 +3,30 @@ package Fabriques.Personnages;
|
||||
import Cases.CaseAbstraite;
|
||||
import Comportements.ComportementAction;
|
||||
import Comportements.ComportementActionTirerBouleDeNeige;
|
||||
import Observateur.Organisation;
|
||||
import Observateur.Arbitre;
|
||||
import Person.Personnage;
|
||||
import Person.PersonnageBattleSnow;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FabriquePersonnagesBattleSnow extends FabriquePersonnagesAbstraite {
|
||||
protected ComportementAction parDefaut = new ComportementActionTirerBouleDeNeige();
|
||||
public Arbitre a;
|
||||
protected ComportementAction parDefaut = new ComportementActionTirerBouleDeNeige();
|
||||
|
||||
@Override
|
||||
public ArrayList<Personnage> CreerPersonages(Organisation o, CaseAbstraite[][] plateau) {
|
||||
ArrayList<Personnage> list = new ArrayList<Personnage>();
|
||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||
ArrayList<Personnage> list = new ArrayList<Personnage>();
|
||||
|
||||
PersonnageBattleSnow p1 = new PersonnageBattleSnow("Bob", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p1);
|
||||
PersonnageBattleSnow p2 = new PersonnageBattleSnow("Jo", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p2);
|
||||
PersonnageBattleSnow p3 = new PersonnageBattleSnow("Max", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p3);
|
||||
PersonnageBattleSnow p4 = new PersonnageBattleSnow("Zac", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p4);
|
||||
PersonnageBattleSnow p3 = new PersonnageBattleSnow("Max", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p3);
|
||||
PersonnageBattleSnow p4 = new PersonnageBattleSnow("Zac", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
list.add(p4);
|
||||
|
||||
this.placement(list, plateau);
|
||||
return list;
|
||||
this.placement(list, plateau);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package Fabriques.Personnages;
|
||||
import Cases.CaseAbstraite;
|
||||
import Comportements.ComportementAction;
|
||||
import Comportements.ComportementActionChangerCouleurCase;
|
||||
import Observateur.Organisation;
|
||||
import Person.Personnage;
|
||||
import Person.PersonnageBattleZone;
|
||||
|
||||
@ -13,7 +12,7 @@ public class FabriquePersonnagesBattleZone extends FabriquePersonnagesAbstraite
|
||||
protected ComportementAction parDefaut = new ComportementActionChangerCouleurCase();
|
||||
|
||||
@Override
|
||||
public ArrayList<Personnage> CreerPersonages(Organisation o, CaseAbstraite[][] plateau) {
|
||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||
ArrayList<Personnage> list = new ArrayList<Personnage>();
|
||||
|
||||
PersonnageBattleZone p1 = new PersonnageBattleZone("Bob", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
|
@ -5,17 +5,18 @@ import Comportements.ComportementAction;
|
||||
import Comportements.ComportementActionTirerBalon;
|
||||
import Composition.EquipeDeFoot;
|
||||
import Composition.PersonnagesAbstraits;
|
||||
import Observateur.Organisation;
|
||||
import Observateur.Arbitre;
|
||||
import Person.Personnage;
|
||||
import Person.PersonnageFootball;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FabriquePersonnagesFootball extends FabriquePersonnagesAbstraite {
|
||||
public Arbitre a;
|
||||
ComportementAction parDefaut = new ComportementActionTirerBalon();
|
||||
|
||||
@Override
|
||||
public ArrayList<Personnage> CreerPersonages(Organisation o, CaseAbstraite[][] plateau) {
|
||||
public ArrayList<Personnage> CreerPersonages(CaseAbstraite[][] plateau) {
|
||||
ArrayList<Personnage> list = new ArrayList<Personnage>();
|
||||
|
||||
PersonnageFootball p1 = new PersonnageFootball("Bob", 100.0, 1.0, 1.0, 2, parDefaut);
|
||||
|
@ -5,7 +5,6 @@ import Fabriques.Objets.FabriqueObjetAbstraite;
|
||||
import Fabriques.Personnages.FabriquePersonnagesAbstraite;
|
||||
import Fabriques.Plateau.FabriquePlateauAbstraite;
|
||||
import Objets.ObjetAbstrait;
|
||||
import Observateur.Organisation;
|
||||
import Person.Personnage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -21,8 +20,8 @@ public abstract class FabriqueScenarioAbstraite {
|
||||
this.fObjs = fObjs;
|
||||
}
|
||||
|
||||
public ArrayList<Personnage> CreerPersonnages(Organisation o, CaseAbstraite[][] plateau) {
|
||||
return this.fPersonnages.CreerPersonages(o, plateau);
|
||||
public ArrayList<Personnage> CreerPersonnages(CaseAbstraite[][] plateau) {
|
||||
return this.fPersonnages.CreerPersonages(plateau);
|
||||
}
|
||||
|
||||
public CaseAbstraite[][] CreerPlateau() {
|
||||
|
18
src/Observateur/Arbitre.java
Normal file
18
src/Observateur/Arbitre.java
Normal file
@ -0,0 +1,18 @@
|
||||
package Observateur;
|
||||
|
||||
public class Arbitre extends SujetObserveAbstrait {
|
||||
|
||||
int iter = 10;
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
iter--;
|
||||
if (iter == 0) {
|
||||
System.out.println("STOP!");
|
||||
for (ObservateurAbstrait o : liste) {
|
||||
o.update();
|
||||
}
|
||||
iter = 10;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package Observateur;
|
||||
|
||||
|
||||
public class Organisation extends SujetObserveAbstrait {
|
||||
protected Organisation parent;
|
||||
|
||||
public Organisation() {
|
||||
this.parent = null;
|
||||
}
|
||||
|
||||
public Organisation(Organisation parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
|
||||
}
|
||||
}
|
@ -9,13 +9,14 @@ import Etats.EtatPersonnageAbstrait;
|
||||
import Etats.EtatPersonnageKO;
|
||||
import Etats.EtatPersonnageOK;
|
||||
import Objets.ObjetAbstrait;
|
||||
import Observateur.ObservateurAbstrait;
|
||||
import utils.Tuple;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Personnage extends PersonnagesAbstraits {
|
||||
public class Personnage extends PersonnagesAbstraits implements ObservateurAbstrait {
|
||||
|
||||
|
||||
protected CaseAbstraite caseCourante;
|
||||
@ -151,6 +152,9 @@ public class Personnage extends PersonnagesAbstraits {
|
||||
case TirerBouleDeNeige:
|
||||
Action = new ComportementActionTirerBouleDeNeige();
|
||||
break;
|
||||
case Rien:
|
||||
Action = new ComportementActionTirerBouleDeNeige();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -233,4 +237,9 @@ public class Personnage extends PersonnagesAbstraits {
|
||||
public void setVoisins(HashMap<PointsCardinaux, CaseAbstraite> voisins) {
|
||||
this.voisins = voisins;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
this.ChangerAction(EAction.Rien);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import Cases.CaseAbstraite;
|
||||
import Fabriques.Scenario.FabriqueScenarioAbstraite;
|
||||
import Observateur.Organisation;
|
||||
import Observateur.Arbitre;
|
||||
import Person.Personnage;
|
||||
import utils.InterfaceConsole;
|
||||
|
||||
@ -11,23 +11,22 @@ import java.util.Scanner;
|
||||
public class SimulationJeu {
|
||||
ArrayList<Personnage> personnages;
|
||||
CaseAbstraite[][] plateau;
|
||||
Organisation o;
|
||||
FabriqueScenarioAbstraite f;
|
||||
InterfaceConsole intefaceC;
|
||||
Arbitre a;
|
||||
|
||||
public SimulationJeu(FabriqueScenarioAbstraite fb) {
|
||||
f = fb;
|
||||
personnages = new ArrayList<Personnage>();
|
||||
plateau = f.CreerPlateau();
|
||||
|
||||
// L'organisation dans les personnages. On aura une orga spécifique pour chaque
|
||||
o = new Organisation();
|
||||
personnages = f.CreerPersonnages(o, plateau);
|
||||
personnages = f.CreerPersonnages(plateau);
|
||||
|
||||
f.creerObjets(plateau);
|
||||
|
||||
intefaceC = new InterfaceConsole(plateau);
|
||||
|
||||
a = new Arbitre();
|
||||
}
|
||||
|
||||
public void afficheTous() {
|
||||
@ -42,10 +41,14 @@ public class SimulationJeu {
|
||||
}
|
||||
|
||||
public void lancerJeu() {
|
||||
for (Personnage p : personnages) {
|
||||
a.attach(p);
|
||||
}
|
||||
|
||||
boolean continuer = true;
|
||||
afficheTous();
|
||||
while (continuer) {
|
||||
a.update();
|
||||
for (Personnage p : personnages) {
|
||||
p.Execution(p.AnalyseSituation());
|
||||
recupererInformations();
|
||||
|
Loading…
Reference in New Issue
Block a user