Interface graphique minimale console, et placement des joueurs.

This commit is contained in:
aminecmi 2015-01-27 18:14:56 +01:00
parent b196b91fa0
commit edbbbcb4f0
2 changed files with 47 additions and 30 deletions

View File

@ -2,37 +2,19 @@ import Cases.CaseAbstraite;
import Fabriques.Scenario.FabriqueScenarioAbstraite; import Fabriques.Scenario.FabriqueScenarioAbstraite;
import Observateur.Organisation; import Observateur.Organisation;
import Person.Personnage; import Person.Personnage;
import utils.InterfaceConsole;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner; import java.util.Scanner;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class SimulationJeu { public class SimulationJeu {
ArrayList<Personnage> personnages; ArrayList<Personnage> personnages;
CaseAbstraite[][] plateau; CaseAbstraite[][] plateau;
Organisation o; Organisation o;
FabriqueScenarioAbstraite f; FabriqueScenarioAbstraite f;
InterfaceConsole intefaceC;
public SimulationJeu(FabriqueScenarioAbstraite fb) { public SimulationJeu(FabriqueScenarioAbstraite fb) {
f = fb; f = fb;
@ -43,15 +25,18 @@ public class SimulationJeu {
o = new Organisation(); o = new Organisation();
personnages = f.CreerPersonnages(o); personnages = f.CreerPersonnages(o);
intefaceC = new InterfaceConsole(plateau);
} }
public void afficheTous() { public void afficheTous() {
StringBuilder result = new StringBuilder(); /*StringBuilder result = new StringBuilder();
for (Personnage p : personnages) { for (Personnage p : personnages) {
result.append(p.getNom()); result.append(p.getNom());
result.append(System.getProperty("line.separator")); result.append(System.getProperty("line.separator"));
} }
System.out.println(result.toString()); System.out.println(result.toString());*/
intefaceC.afficherPlateau();
} }
public void mediationDesConflits() { public void mediationDesConflits() {
@ -63,7 +48,14 @@ public class SimulationJeu {
} }
public void lancerJeu() { public void lancerJeu() {
// Todo: positionner les personnages // users displayng
Random rand = new Random();
for (Personnage p : personnages) {
int x = rand.nextInt(plateau.length);
int y = rand.nextInt(plateau[x].length);
p.setCaseCourante(plateau[x][y]);
plateau[x][y].ajouterOccupant(p);
}
boolean continuer = true; boolean continuer = true;
while (continuer) { while (continuer) {
@ -95,24 +87,24 @@ public class SimulationJeu {
// Todo // Todo
//Nous allons commencer notre arborescence en créant la racine XML //Nous allons commencer notre arborescence en cr<EFBFBD>ant la racine XML
//qui sera ici "personnes". //qui sera ici "personnes".
// static Element racine = new Element("personnes"); // static Element racine = new Element("personnes");
//On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer //On cr<EFBFBD>e un nouveau Document JDOM bas<EFBFBD> sur la racine que l'on vient de cr<EFBFBD>er
// static org.jdom.Document document = new Document(racine); // static org.jdom.Document document = new Document(racine);
//On crée un nouvel Element etudiant et on l'ajoute //On cr<EFBFBD>e un nouvel Element etudiant et on l'ajoute
//en tant qu'Element de racine //en tant qu'Element de racine
// Element etudiant = new Element("etudiant"); // Element etudiant = new Element("etudiant");
//racine.addContent(etudiant); //racine.addContent(etudiant);
//On crée un nouvel Attribut classe et on l'ajoute à etudiant //On cr<EFBFBD>e un nouvel Attribut classe et on l'ajoute <EFBFBD> etudiant
//grâce à la thode setAttribute //gr<EFBFBD>ce <EFBFBD> la m<EFBFBD>thode setAttribute
// Attribute classe = new Attribute("classe","P2"); // Attribute classe = new Attribute("classe","P2");
// etudiant.setAttribute(classe); // etudiant.setAttribute(classe);
//On crée un nouvel Element nom, on lui assigne du texte //On cr<EFBFBD>e un nouvel Element nom, on lui assigne du texte
//et on l'ajoute en tant qu'Element de etudiant //et on l'ajoute en tant qu'Element de etudiant
//Element nom = new Element("nom"); //Element nom = new Element("nom");
// nom.setText("CynO"); // nom.setText("CynO");

View File

@ -0,0 +1,25 @@
package utils;
import Cases.CaseAbstraite;
public class InterfaceConsole {
CaseAbstraite[][] plateau;
public InterfaceConsole(CaseAbstraite[][] cases) {
plateau = cases;
}
public void afficherPlateau() {
for (int i = 0; i < plateau.length; i++) {
for (int j = 0; j < plateau[i].length; j++) {
if (plateau[i][j].getOccupant() != null) {
System.out.print(plateau[i][j].getOccupant().getNom().charAt(0) + " | ");
} else {
System.out.print(" | ");
}
}
System.out.println();
System.out.println(" ---------------------------------------------");
}
}
}