Préparation du simulateur.
This commit is contained in:
parent
44db9873c3
commit
72ee8d1655
@ -1,5 +1,6 @@
|
||||
package Fabriques.Scenario;
|
||||
|
||||
import Cases.CaseAbstraite;
|
||||
import Fabriques.Personnages.FabriquePersonnagesAbstraite;
|
||||
import Fabriques.Plateau.FabriquePlateauAbstraite;
|
||||
import Observateur.Organisation;
|
||||
@ -20,7 +21,7 @@ public class FabriqueScenarioAbstraite {
|
||||
return this.fPersonnages.CreerPersonages(o);
|
||||
}
|
||||
|
||||
public void CreerPlateau() {
|
||||
this.fPlateau.CreerPlateau();
|
||||
public CaseAbstraite[][] CreerPlateau() {
|
||||
return this.fPlateau.CreerPlateau();
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,10 @@
|
||||
import Fabriques.Personnages.FabriquePersonnagesBattleZone;
|
||||
import Fabriques.Plateau.FabriquePlateauBattleZone;
|
||||
import Fabriques.Scenario.FabriqueScenarioMoyenAge;
|
||||
import Person.eMode;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args){
|
||||
SimulationJeu s = new SimulationJeu(new FabriqueScenarioMoyenAge(new FabriquePlateauBattleZone(), new FabriquePersonnagesBattleZone()));
|
||||
s.creationPersonnages();
|
||||
System.out.println(s.afficheTous());
|
||||
System.out.println(s.emmetreUnSonTous());
|
||||
System.out.println(s.lancerCombar());
|
||||
s.changerEtat(eMode.GUERRE);
|
||||
System.out.println(s.lancerCombar());
|
||||
s.lancerJeu();
|
||||
}
|
||||
}
|
||||
|
13
src/Objets/ObjetAbstrait.java
Normal file
13
src/Objets/ObjetAbstrait.java
Normal file
@ -0,0 +1,13 @@
|
||||
package Objets;
|
||||
|
||||
import Cases.CaseAbstraite;
|
||||
|
||||
public abstract class ObjetAbstrait {
|
||||
CaseAbstraite caseAbstraite;
|
||||
String nom;
|
||||
|
||||
public ObjetAbstrait(String nom, CaseAbstraite c) {
|
||||
this.caseAbstraite = c;
|
||||
this.nom = nom;
|
||||
}
|
||||
}
|
@ -57,4 +57,13 @@ public class Personnage extends PersonnagesAbstraits implements ObservateurAbstr
|
||||
public void setCaseCourante(CaseAbstraite caseCourante) {
|
||||
this.caseCourante = caseCourante;
|
||||
}
|
||||
|
||||
public void AnalyseSituation() {
|
||||
// Todo
|
||||
}
|
||||
|
||||
public void Execution() {
|
||||
// Todo
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,51 +1,74 @@
|
||||
import Cases.CaseAbstraite;
|
||||
import Fabriques.Scenario.FabriqueScenarioAbstraite;
|
||||
import Observateur.Organisation;
|
||||
import Person.Personnage;
|
||||
import Person.eMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class SimulationJeu {
|
||||
ArrayList<Personnage> liste;
|
||||
ArrayList<Personnage> personnages;
|
||||
CaseAbstraite[][] plateau;
|
||||
Organisation o;
|
||||
FabriqueScenarioAbstraite f;
|
||||
|
||||
public SimulationJeu(FabriqueScenarioAbstraite fb) {
|
||||
f = fb;
|
||||
liste = new ArrayList<Personnage>();
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
public String afficheTous() {
|
||||
public void afficheTous() {
|
||||
StringBuilder result = new StringBuilder();
|
||||
for(Personnage p: liste) {
|
||||
for (Personnage p : personnages) {
|
||||
result.append(p.getNom());
|
||||
result.append(System.getProperty("line.separator"));
|
||||
}
|
||||
return result.toString();
|
||||
System.out.println(result.toString());
|
||||
}
|
||||
|
||||
public void creationPersonnages() {
|
||||
o = new Organisation();
|
||||
liste = f.CreerPersonnages(o);
|
||||
public void mediationDesConflits() {
|
||||
// TODO ?
|
||||
}
|
||||
|
||||
public String emmetreUnSonTous() {
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (Personnage p: liste) {
|
||||
result.append(System.getProperty("line.separator"));
|
||||
public void recupererInformations() {
|
||||
// TODO récup infos + statistics + maj infos observateur ?
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
return result.toString();
|
||||
|
||||
}
|
||||
|
||||
public String lancerCombar() {
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (Personnage p: liste) {
|
||||
result.append(System.getProperty("line.separator"));
|
||||
}
|
||||
return result.toString();
|
||||
private void miseAJour() {
|
||||
// Todo
|
||||
|
||||
}
|
||||
|
||||
public void changerEtat(eMode etat) {
|
||||
this.o.setModeFonctionnement(etat);
|
||||
}
|
||||
// Todo Save
|
||||
|
||||
// Todo import
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user