LesSyms4/src/SimulationJeu.java

75 lines
2.0 KiB
Java
Raw Normal View History

2015-01-07 09:41:16 +00:00
import Cases.CaseAbstraite;
2014-12-03 08:13:23 +00:00
import Fabriques.Scenario.FabriqueScenarioAbstraite;
import Observateur.Organisation;
import Person.Personnage;
2014-10-03 13:34:03 +00:00
import java.util.ArrayList;
2015-01-07 09:41:16 +00:00
import java.util.Scanner;
2014-10-03 13:34:03 +00:00
public class SimulationJeu {
2015-01-07 09:41:16 +00:00
ArrayList<Personnage> personnages;
CaseAbstraite[][] plateau;
2014-10-03 15:20:49 +00:00
Organisation o;
2014-12-03 08:13:23 +00:00
FabriqueScenarioAbstraite f;
2014-10-03 13:34:03 +00:00
2014-12-03 08:13:23 +00:00
public SimulationJeu(FabriqueScenarioAbstraite fb) {
f = fb;
2015-01-07 09:41:16 +00:00
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);
2014-10-03 13:34:03 +00:00
}
2015-01-07 09:41:16 +00:00
public void afficheTous() {
2014-10-03 13:34:03 +00:00
StringBuilder result = new StringBuilder();
2015-01-07 09:41:16 +00:00
for (Personnage p : personnages) {
2014-10-03 13:34:03 +00:00
result.append(p.getNom());
result.append(System.getProperty("line.separator"));
}
2015-01-07 09:41:16 +00:00
System.out.println(result.toString());
2014-10-03 13:34:03 +00:00
}
2015-01-07 09:41:16 +00:00
public void mediationDesConflits() {
// TODO ?
2014-10-03 13:34:03 +00:00
}
2015-01-07 09:41:16 +00:00
public void recupererInformations() {
// TODO récup infos + statistics + maj infos observateur ?
2014-10-03 13:34:03 +00:00
}
2015-01-07 09:41:16 +00:00
public void lancerJeu() {
// Todo: positionner les personnages
boolean continuer = true;
while (continuer) {
// Todo propagation des informations
// Todo Propagation des ordres
for (Personnage p : personnages) {
p.AnalyseSituation();
p.Execution();
mediationDesConflits(); // utiliser le pattern avec l'historique pour les actions. On pourra faire un retour arrière si conflit + réexecturer
miseAJour();
recupererInformations();
}
afficheTous();
// bloquer le tour jusqu'a toucher une touche du clavier.
Scanner s = new Scanner(System.in);
s.nextLine();
2014-10-03 13:34:03 +00:00
}
2015-01-07 09:41:16 +00:00
2014-10-03 13:34:03 +00:00
}
2014-10-03 15:20:49 +00:00
2015-01-07 09:41:16 +00:00
private void miseAJour() {
// Todo
2014-10-03 15:20:49 +00:00
}
2015-01-07 09:41:16 +00:00
// Todo Save
// Todo import
2014-10-03 13:34:03 +00:00
}