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