diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Action.java b/runtime-workspace/fr.n7.game.examples/src-gen/Action.java
new file mode 100644
index 0000000..5665fb1
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Action.java
@@ -0,0 +1,49 @@
+import java.util.List;
+
+public class Action {
+ Condition visible;
+ List connaissances;
+ List objetsRecus;
+ List objetsConso;
+ Condition finInterraction;
+ List descriptions;
+
+ public Action(
+ Condition visible,
+ List connaissances,
+ List objetsRecus,
+ List objetsConso,
+ Condition finInterraction,
+ List descriptions) {
+ this.visible = visible;
+ this.connaissances = connaissances;
+ this.objetsRecus = objetsRecus;
+ this.objetsConso = objetsConso;
+ this.finInterraction = finInterraction;
+ this.descriptions = descriptions;
+ }
+
+ void actionner() {
+ for (Connaissance c : this.connaissances) {
+ if (!Jeu.explorateur.connaissances.contains(c)) {
+ Jeu.explorateur.connaissances.add(c);
+ }
+ }
+ for (Objet o : this.objetsRecus) {
+ Jeu.explorateur.objets.add(o);
+ }
+ for (Objet o : this.objetsConso) {
+ Jeu.explorateur.objets.remove(o);
+ }
+ }
+
+ @Override
+ public String toString() {
+ for (Description d : this.descriptions) {
+ if (d.condition.evaluer()) {
+ return d.toString();
+ }
+ }
+ return "No desc";
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Chemin.java b/runtime-workspace/fr.n7.game.examples/src-gen/Chemin.java
new file mode 100644
index 0000000..251c984
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Chemin.java
@@ -0,0 +1,45 @@
+import java.util.List;
+
+public class Chemin {
+ Lieu lieuIn;
+ Lieu lieuOut;
+ Condition ouvert;
+ Condition visible;
+ Condition obligatoire;
+ List connaissancesRecus;
+ List objetsRecus;
+ List objetsConso;
+ List descriptions;
+
+ public Chemin(
+ Lieu lieuIn,
+ Lieu lieuOut,
+ Condition ouvert,
+ Condition visible,
+ Condition obligatoire,
+ List connaissancesRecus,
+ List objetsRecus,
+ List objetsConso,
+ List descriptions) {
+ this.lieuIn = lieuIn;
+ this.lieuOut = lieuOut;
+ this.ouvert = ouvert;
+ this.visible = visible;
+ this.obligatoire = obligatoire;
+ this.connaissancesRecus = connaissancesRecus;
+ this.objetsRecus = objetsRecus;
+ this.objetsConso = objetsConso;
+ this.descriptions = descriptions;
+
+ }
+
+ @Override
+ public String toString() {
+ for (Description d : descriptions) {
+ if (d.condition.evaluer()) {
+ return d.toString();
+ }
+ }
+ return "No desc";
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Condition.java b/runtime-workspace/fr.n7.game.examples/src-gen/Condition.java
new file mode 100644
index 0000000..7231129
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Condition.java
@@ -0,0 +1,21 @@
+import java.util.List;
+import java.util.ArrayList;
+
+public class Condition {
+
+ List conditionEts;
+
+ public Condition(List conditionEts) {
+ this.conditionEts = conditionEts;
+ }
+
+ public Boolean evaluer() {
+ for (ConditionEt cond : conditionEts) {
+ if (cond.evaluer()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/ConditionBoolean.java b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionBoolean.java
new file mode 100644
index 0000000..383769a
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionBoolean.java
@@ -0,0 +1,11 @@
+public class ConditionBoolean implements ConditionTest {
+ Boolean bool;
+
+ public ConditionBoolean(Boolean bool) {
+ this.bool = bool;
+ }
+
+ public Boolean evaluer() {
+ return this.bool;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/ConditionConnaissance.java b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionConnaissance.java
new file mode 100644
index 0000000..beb7a11
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionConnaissance.java
@@ -0,0 +1,21 @@
+public class ConditionConnaissance implements ConditionTest {
+
+ Connaissance connaissance;
+ Boolean negation;
+
+ public ConditionConnaissance(
+ Connaissance connaissance,
+ Boolean negation) {
+ this.connaissance = connaissance;
+ this.negation = negation;
+ }
+
+ public Boolean evaluer() {
+ if (Jeu.explorateur.connaissances.contains(this.connaissance)) {
+ return !this.negation;
+ } else {
+ return this.negation;
+ }
+ }
+
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/ConditionEt.java b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionEt.java
new file mode 100644
index 0000000..5458432
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionEt.java
@@ -0,0 +1,21 @@
+import java.util.List;
+import java.util.ArrayList;
+
+public class ConditionEt {
+
+ List conditionTests;
+
+ public ConditionEt(List conditionTests) {
+ this.conditionTests = conditionTests;
+ }
+
+ public Boolean evaluer() {
+ for (ConditionTest cond : conditionTests) {
+ if (!cond.evaluer()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/ConditionObjet.java b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionObjet.java
new file mode 100644
index 0000000..5862ecf
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionObjet.java
@@ -0,0 +1,39 @@
+public class ConditionObjet implements ConditionTest {
+ Objet objet;
+ String operateur;
+ int nombre;
+
+ public ConditionObjet(
+ Objet objet,
+ String operateur,
+ int nombre) {
+ this.objet = objet;
+ this.operateur = operateur;
+ this.nombre = nombre;
+ }
+
+ public Boolean evaluer() {
+ int compteur = 0;
+ for (Objet obj : Jeu.explorateur.objets) {
+ if (obj.equals(this.objet)) {
+ compteur++;
+ }
+ }
+
+ if (this.operateur.equals("<")) {
+ return compteur < nombre;
+ } else if (this.operateur.equals(">")) {
+ return compteur > nombre;
+ } else if (this.operateur.equals("==")) {
+ return compteur == nombre;
+ } else if (this.operateur.equals("<=")) {
+ return compteur <= nombre;
+ } else if (this.operateur.equals(">=")) {
+ return compteur >= nombre;
+ } else if (this.operateur.equals("!=")) {
+ return compteur != nombre;
+ } else {
+ throw new Error("dafuk");
+ }
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/ConditionTest.java b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionTest.java
new file mode 100644
index 0000000..a886acf
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/ConditionTest.java
@@ -0,0 +1,5 @@
+public interface ConditionTest {
+
+ public Boolean evaluer();
+
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Connaissance.java b/runtime-workspace/fr.n7.game.examples/src-gen/Connaissance.java
new file mode 100644
index 0000000..044e202
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Connaissance.java
@@ -0,0 +1,26 @@
+import java.util.List;
+
+public class Connaissance {
+ String nom;
+ Condition visible;
+ List descriptions;
+
+ public Connaissance(
+ String nom,
+ Condition visible,
+ List descriptions) {
+ this.nom = nom;
+ this.visible = visible;
+ this.descriptions = descriptions;
+ }
+
+ @Override
+ public String toString() {
+ for (Description d : this.descriptions) {
+ if (d.condition.evaluer()) {
+ return "(" + this.nom + " : " + d + ")";
+ }
+ }
+ return "(" + this.nom + ")";
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Description.java b/runtime-workspace/fr.n7.game.examples/src-gen/Description.java
new file mode 100644
index 0000000..adb783b
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Description.java
@@ -0,0 +1,16 @@
+public class Description {
+ String texte;
+ Condition condition;
+
+ public Description(
+ String texte,
+ Condition condition) {
+ this.texte = texte;
+ this.condition = condition;
+ }
+
+ @Override
+ public String toString() {
+ return this.texte;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Explorateur.java b/runtime-workspace/fr.n7.game.examples/src-gen/Explorateur.java
new file mode 100644
index 0000000..7a58a88
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Explorateur.java
@@ -0,0 +1,31 @@
+import java.util.List;
+
+public class Explorateur {
+ int taille;
+ List connaissances;
+ List objets;
+
+ public Explorateur(
+ int taille,
+ List connaissances,
+ List objets) {
+ this.taille = taille;
+ this.connaissances = connaissances;
+ this.objets = objets;
+ }
+
+ @Override
+ public String toString() {
+ String txt = "Objets :\n";
+ for (Objet c : this.objets) {
+ txt += c + " ";
+ }
+ txt += "\n\nConnaissances :\n";
+ for (Connaissance c : this.connaissances) {
+ txt += c + " ";
+ }
+ txt += "\n===================================================";
+ return txt;
+ }
+
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Interaction.java b/runtime-workspace/fr.n7.game.examples/src-gen/Interaction.java
new file mode 100644
index 0000000..4e059f9
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Interaction.java
@@ -0,0 +1,70 @@
+import java.util.List;
+import java.util.ArrayList;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.io.IOException;
+
+public class Interaction {
+ Condition visible;
+ List connaissances;
+ List objetsRecus;
+ List objetsConso;
+ List actions;
+
+ public Interaction(
+ Condition visible,
+ List connaissances,
+ List objetsRecus,
+ List objetsConso,
+ List actions) {
+ this.visible = visible;
+ this.connaissances = connaissances;
+ this.objetsRecus = objetsRecus;
+ this.objetsConso = objetsConso;
+ this.actions = actions;
+ }
+
+ void interragir(BufferedReader reader, Lieu lieu) {
+ boolean arreter_interraction = false;
+
+ while (!arreter_interraction) {
+ System.out.println(this);
+ System.out.print("\nChoix : ");
+
+ List actions_choix = new ArrayList<>();
+ for (Action a : this.actions) {
+ if (a.visible.evaluer()) {
+ actions_choix.add(a);
+ }
+ }
+ int choix = 0;
+ Action a = null;
+ try {
+ choix = Integer.parseInt(reader.readLine());
+ a = actions_choix.get(choix);
+ } catch (NumberFormatException e) {
+ continue;
+ } catch (IndexOutOfBoundsException e) {
+ continue;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ a.actionner();
+
+ arreter_interraction = a.finInterraction.evaluer();
+ }
+ }
+
+ @Override
+ public String toString() {
+ String res = "";
+ int k = 0;
+ for (Action a : this.actions) {
+ if (a.visible.evaluer()) {
+ res += "[" + k + "] " + a + "\n";
+ k++;
+ }
+ }
+ return res;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Jeu.java b/runtime-workspace/fr.n7.game.examples/src-gen/Jeu.java
new file mode 100644
index 0000000..4df2274
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Jeu.java
@@ -0,0 +1,120 @@
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Jeu {
+ public static Explorateur explorateur;
+ Territoire territoire;
+ List objets;
+ List connaissances;
+ List personnes;
+ List transformations;
+
+ public Jeu(
+ Territoire territoire,
+ List objets,
+ List connaissances,
+ List personnes,
+ List transformations) {
+ this.territoire = territoire;
+ this.objets = objets;
+ this.connaissances = connaissances;
+ this.personnes = personnes;
+ this.transformations = transformations;
+ }
+
+ void jouer() {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+
+ Lieu lieu = null;
+ for (Lieu l : territoire.lieux) {
+ if (l.depart.evaluer()) {
+ lieu = l;
+ break;
+ }
+ }
+
+ while (!lieu.fin.evaluer()) {
+ boolean recommencer = false;
+
+ System.out.println("\n\n\n\n\n\n\n\n\n\nLieu : " + lieu + "\n");
+ System.out.println(Jeu.explorateur);
+
+ for (Personne p : lieu.personnes) {
+ if (p.visible.evaluer() && p.obligatoire.evaluer()) {
+ System.out.println(p + " :");
+
+ p.interragir(reader, lieu);
+ recommencer = true;
+ break;
+ }
+ }
+ if (recommencer) {
+ continue;
+ }
+
+ for (Chemin c : territoire.chemins) {
+ if (c.lieuIn == lieu) {
+ if (c.visible.evaluer() && c.obligatoire.evaluer() && c.ouvert.evaluer()) {
+ lieu = c.lieuOut;
+ recommencer = true;
+ break;
+ }
+ }
+ }
+ if (recommencer) {
+ continue;
+ }
+
+ int k = 0;
+ List chemins_choix = new ArrayList<>();
+ for (Chemin c : territoire.chemins) {
+ if (c.lieuIn == lieu) {
+ if (c.visible.evaluer() && c.ouvert.evaluer()) {
+ chemins_choix.add(c);
+ System.out.println("[" + k + "] " + c);
+ k++;
+ }
+ }
+ }
+
+ List personnes_choix = new ArrayList<>();
+ for (Personne p : personnes) {
+ if (lieu.personnes.contains(p)) {
+ if (p.visible.evaluer()) {
+ personnes_choix.add(p);
+ System.out.println("[" + k + "] " + p);
+ k++;
+ }
+ }
+ }
+
+ int choix = 0;
+ try {
+ System.out.print("\nChoix : ");
+ choix = Integer.parseInt(reader.readLine());
+ if (choix < chemins_choix.size()) {
+ lieu = chemins_choix.get(choix).lieuOut;
+ } else {
+ Personne p = personnes_choix.get(choix - chemins_choix.size());
+
+ System.out.println("\n\n\n\n\n\n\n\n\n\nLieu : " + lieu + "\n");
+ System.out.println(Jeu.explorateur);
+ System.out.println(p + " :");
+
+ p.interragir(reader, lieu);
+ }
+ } catch (NumberFormatException e) {
+ continue;
+ } catch (IndexOutOfBoundsException e) {
+ continue;
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ System.out.println("FIN : " + lieu.nom);
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Lieu.java b/runtime-workspace/fr.n7.game.examples/src-gen/Lieu.java
new file mode 100644
index 0000000..4be1123
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Lieu.java
@@ -0,0 +1,36 @@
+import java.util.List;
+
+public class Lieu {
+ String nom;
+ Condition deposable;
+ Condition depart;
+ Condition fin;
+ List personnes;
+ List descriptions;
+ List objets;
+ List connaissances;
+
+ public Lieu(
+ String nom,
+ Condition deposable,
+ Condition depart,
+ Condition fin,
+ List personnes,
+ List descriptions,
+ List objets,
+ List connaissances) {
+ this.nom = nom;
+ this.deposable = deposable;
+ this.depart = depart;
+ this.fin = fin;
+ this.personnes = personnes;
+ this.descriptions = descriptions;
+ this.objets = objets;
+ this.connaissances = connaissances;
+ }
+
+ @Override
+ public String toString() {
+ return nom;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Objet.java b/runtime-workspace/fr.n7.game.examples/src-gen/Objet.java
new file mode 100644
index 0000000..79c35fa
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Objet.java
@@ -0,0 +1,29 @@
+import java.util.List;
+
+public class Objet {
+ String nom;
+ int taille;
+ Condition visible;
+ List descriptions;
+
+ public Objet(
+ String nom,
+ int taille,
+ Condition visible,
+ List descriptions) {
+ this.nom = nom;
+ this.taille = taille;
+ this.visible = visible;
+ this.descriptions = descriptions;
+ }
+
+ @Override
+ public String toString() {
+ for (Description d : this.descriptions) {
+ if (d.condition.evaluer()) {
+ return "(" + this.nom + ": " + d + ")";
+ }
+ }
+ return "(" + this.nom + ")";
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Personne.java b/runtime-workspace/fr.n7.game.examples/src-gen/Personne.java
new file mode 100644
index 0000000..3687b6e
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Personne.java
@@ -0,0 +1,35 @@
+import java.util.List;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+
+public class Personne {
+ String nom;
+ Condition visible;
+ Condition obligatoire;
+ List interactions;
+
+ public Personne(
+ String nom,
+ Condition visible,
+ Condition obligatoire,
+ List interactions) {
+ this.nom = nom;
+ this.visible = visible;
+ this.obligatoire = obligatoire;
+ this.interactions = interactions;
+ }
+
+ void interragir(BufferedReader reader, Lieu lieu) {
+ for (Interaction i : this.interactions) {
+ if (i.visible.evaluer()) {
+ i.interragir(reader, lieu);
+ }
+ break;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return nom;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Prototype.java b/runtime-workspace/fr.n7.game.examples/src-gen/Prototype.java
deleted file mode 100644
index c0c097d..0000000
--- a/runtime-workspace/fr.n7.game.examples/src-gen/Prototype.java
+++ /dev/null
@@ -1,675 +0,0 @@
-public class Prototype {
-public static void main(String[] args) {
-
-// "Objets"
-List jeu_objets = new ArrayList<>();
-
- List objet_tentative_descriptions = new ArrayList<>();
-
- List objet_tentative_description_1_conditions_ET = new ArrayList<>();
-
- List objet_tentative_description_1_conditions_TEST_1 = new ArrayList<>();
-
- objet_tentative_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- objet_tentative_description_1_conditions_ET.add(objet_tentative_description_1_conditions_TEST_1)
-
-
- Condition objet_tentative_description_1_condition = new Condition(objet_tentative_description_1_conditions_ET);
-
- objet_tentative_descriptions.add(
- new Description(
- "permet repondre une question du sphinx",
- objet_tentative_description_1_condition
- )
- );
- List objet_visible_tentative_conditions_ET = new ArrayList<>();
-
- List objet_visible_tentative_conditions_TEST_1 = new ArrayList<>();
-
- objet_visible_tentative_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- objet_visible_tentative_conditions_ET.add(objet_visible_tentative_conditions_TEST_1)
-
-
- Condition objet_visible_tentative_condition = new Condition(objet_visible_tentative_conditions_ET);
- Objet objet_tentative = new Objet(
- "tentative",
- 1,
- objet_visible_tentative_condition,
- objet_tentative_descriptions
- );
- jeu_objets.add(objet_tentative);
-
-// "Connaissances"
-List jeu_connaissances = new ArrayList<>();
-
- List connaissance_Reussite_descriptions = new ArrayList<>();
-
- List connaissance_Reussite_description_1_conditions_ET = new ArrayList<>();
-
- List connaissance_Reussite_description_1_conditions_TEST_1 = new ArrayList<>();
-
- connaissance_Reussite_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- connaissance_Reussite_description_1_conditions_ET.add(connaissance_Reussite_description_1_conditions_TEST_1)
-
-
- Condition connaissance_Reussite_description_1_condition = new Condition(connaissance_Reussite_description_1_conditions_ET);
-
- connaissance_Reussite_descriptions.add(
- new Description(
- "Permet de se casser de la",
- connaissance_Reussite_description_1_condition
- )
- );
- List connaissance_visible_Reussite_conditions_ET = new ArrayList<>();
-
- List connaissance_visible_Reussite_conditions_TEST_1 = new ArrayList<>();
-
- connaissance_visible_Reussite_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- connaissance_visible_Reussite_conditions_ET.add(connaissance_visible_Reussite_conditions_TEST_1)
-
-
- Condition connaissance_visible_Reussite_condition = new Condition(connaissance_visible_Reussite_conditions_ET);
- Connaissance connaissance_Reussite = new Connaissance(
- "Reussite",
- connaissance_visible_Reussite_condition,
- connaissance_Reussite_descriptions
- );
- jeu_connaissances.add(connaissance_Reussite);
-
-// "Transformations"
-List jeu_transformations = new ArrayList<>();
-
-
-// "Explorateur"
-
-List explorateur_inventaire = new ArrayList<>();
- explorateur_inventaire.add(objet_tentative);
- explorateur_inventaire.add(objet_tentative);
- explorateur_inventaire.add(objet_tentative);
-
-List explorateur_connaissances = new ArrayList<>();
-
-Jeu.explorateur = new Explorateur(
- 3,
- explorateur_connaissances,
- explorateur_inventaire
-);
-
-// "Personnes"
-
-List jeu_personnes = new ArrayList<>();
-
- List personne_visible_Sphinx_1_conditions_ET = new ArrayList<>();
-
- List personne_visible_Sphinx_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_visible_Sphinx_1_conditions_TEST_1.add(
- new ConditionConnaissance(
- connaissance_Reussite,
- false
- )
- );
- personne_visible_Sphinx_1_conditions_ET.add(personne_visible_Sphinx_1_conditions_TEST_1)
-
- personne_visible_Sphinx_1_conditions_TEST_2.add(
- new ConditionObjet(
- objet_tentative,
- ">",
- 0
- )
- );
- personne_visible_Sphinx_1_conditions_ET.add(personne_visible_Sphinx_1_conditions_TEST_2)
-
-
- Condition personne_visible_Sphinx_1_condition = new Condition(personne_visible_Sphinx_1_conditions_ET);
- List personne_obligatoire_Sphinx_1_conditions_ET = new ArrayList<>();
-
- List personne_obligatoire_Sphinx_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_obligatoire_Sphinx_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_obligatoire_Sphinx_1_conditions_ET.add(personne_obligatoire_Sphinx_1_conditions_TEST_1)
-
-
- Condition personne_obligatoire_Sphinx_1_condition = new Condition(personne_obligatoire_Sphinx_1_conditions_ET);
- List personne_Sphinx_1_interactions = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_visible_1_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_visible_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_visible_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_visible_1_conditions_ET.add(personne_Sphinx_1_interaction_visible_1_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_visible_1_condition = new Condition(personne_Sphinx_1_interaction_visible_1_conditions_ET);
- List personne_Sphinx_1_interaction_1_actions = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET.add(personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_action_visible_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET);
- List personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET.add(personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_action_fin_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET);
- List personne_Sphinx_1_interaction_1_descriptions = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_description_1_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_description_1_conditions_ET.add(personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_description_1_condition = new Condition(personne_Sphinx_1_interaction_1_description_1_conditions_ET);
-
- personne_Sphinx_1_interaction_1_descriptions.add(
- new Description(
- "la bonne reponse",
- personne_Sphinx_1_interaction_1_description_1_condition
- )
- );
-
- List personne_Sphinx_1_interaction_1_action_1_connaissances = new ArrayList<>();
- personne_Sphinx_1_interaction_1_action_1_connaissances.add(connaissance_Reussite);
- List personne_Sphinx_1_interaction_1_action_1_objets_conso = new ArrayList<>();
- List personne_Sphinx_1_interaction_1_action_1_objets_recus = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_actions.add(
- new Action(
- personne_Sphinx_1_interaction_1_action_visible_1_condition,
- personne_Sphinx_1_interaction_1_action_fin_1_condition,
- personne_Sphinx_1_interaction_1_action_1_connaissances,
- personne_Sphinx_1_interaction_1_action_1_objets_conso,
- personne_Sphinx_1_interaction_1_action_1_objets_recus,
- personne_Sphinx_1_interaction_1_action_1_descriptions
- )
- );
- List personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET.add(personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_action_visible_2_condition = new Condition(personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET);
- List personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET.add(personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_action_fin_2_condition = new Condition(personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET);
- List personne_Sphinx_1_interaction_1_descriptions = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_description_1_conditions_ET = new ArrayList<>();
-
- List personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1 = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- personne_Sphinx_1_interaction_1_description_1_conditions_ET.add(personne_Sphinx_1_interaction_1_description_1_conditions_TEST_1)
-
-
- Condition personne_Sphinx_1_interaction_1_description_1_condition = new Condition(personne_Sphinx_1_interaction_1_description_1_conditions_ET);
-
- personne_Sphinx_1_interaction_1_descriptions.add(
- new Description(
- "la mauvaise reponse",
- personne_Sphinx_1_interaction_1_description_1_condition
- )
- );
-
- List personne_Sphinx_1_interaction_1_action_2_connaissances = new ArrayList<>();
- List personne_Sphinx_1_interaction_1_action_2_objets_conso = new ArrayList<>();
- personne_Sphinx_1_interaction_1_action_1_objets_conso.add(objet_tentative);
- List personne_Sphinx_1_interaction_1_action_2_objets_recus = new ArrayList<>();
-
- personne_Sphinx_1_interaction_1_actions.add(
- new Action(
- personne_Sphinx_1_interaction_1_action_visible_2_condition,
- personne_Sphinx_1_interaction_1_action_fin_2_condition,
- personne_Sphinx_1_interaction_1_action_2_connaissances,
- personne_Sphinx_1_interaction_1_action_2_objets_conso,
- personne_Sphinx_1_interaction_1_action_2_objets_recus,
- personne_Sphinx_1_interaction_1_action_2_descriptions
- )
- );
-
- List personne_Sphinx_1_interaction_1_connaissances = new ArrayList<>();
- List personne_Sphinx_1_interaction_1_objets_conso = new ArrayList<>();
- List personne_Sphinx_1_interaction_1_objets_recus = new ArrayList<>();
-
- personne_Sphinx_1_actions.add(
- new Action(
- personne_Sphinx_1_interaction_visible_1_condition,
- personne_Sphinx_1_interaction_1_connaissances,
- personne_Sphinx_1_interaction_1_objets_conso,
- personne_Sphinx_1_interaction_1_objets_recus,
- personne_Sphinx_1_interaction_1_actions
- )
- );
-
-
- Personne personne_Sphinx = new Personne(
- "Sphinx",
- personne_visible_Sphinx_1_condition,
- personne_obligatoire_Sphinx_1_condition,
- personne_Sphinx_1_interactions
- );
-
- jeu_personnes.add(personne_Sphinx);
-
-// "Lieux"
-
-List territoire_lieux = new ArrayList<>();
- List lieu_deposable_1_conditions_ET = new ArrayList<>();
-
- List lieu_deposable_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_deposable_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_deposable_1_conditions_ET.add(lieu_deposable_1_conditions_TEST_1)
-
-
- Condition lieu_deposable_1_condition = new Condition(lieu_deposable_1_conditions_ET);
- List lieu_depart_1_conditions_ET = new ArrayList<>();
-
- List lieu_depart_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_depart_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_depart_1_conditions_ET.add(lieu_depart_1_conditions_TEST_1)
-
-
- Condition lieu_depart_1_condition = new Condition(lieu_depart_1_conditions_ET);
- List lieu_fin_1_conditions_ET = new ArrayList<>();
-
- List lieu_fin_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_fin_1_conditions_TEST_1.add(
- new ConditionBoolean(false)
- );
- lieu_fin_1_conditions_ET.add(lieu_fin_1_conditions_TEST_1)
-
-
- Condition lieu_fin_1_condition = new Condition(lieu_fin_1_conditions_ET);
- List lieu_Enigme_1_descriptions = new ArrayList<>();
-
- List lieu_Enigme_1_description_1_conditions_ET = new ArrayList<>();
-
- List lieu_Enigme_1_description_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_Enigme_1_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_Enigme_1_description_1_conditions_ET.add(lieu_Enigme_1_description_1_conditions_TEST_1)
-
-
- Condition lieu_Enigme_1_description_1_condition = new Condition(lieu_Enigme_1_description_1_conditions_ET);
-
- lieu_Enigme_1_descriptions.add(
- new Description(
- "lieu de depart",
- lieu_Enigme_1_description_1_condition
- )
- );
-
- List lieu_Enigme_1_personnes = new ArrayList<>();
- lieu_Enigme_1_personnes.add(objet_Sphinx);
- List lieu_Enigme_1_objets = new ArrayList<>();
- List lieu_Enigme_1_connaissances = new ArrayList<>();
-
- // TODO: utiliser un search dans la liste plutot que de déclarer les objets
- Lieu lieu_Enigme = new Lieu(
- "Enigme",
- lieu_deposable_1_condition,
- lieu_depart_1_condition,
- lieu_fin_1_condition,
- lieu_Enigme_1_personnes,
- lieu_Enigme_1_descriptions,
- lieu_Enigme_1_objets,
- lieu_Enigme_1_connaissances
- );
-
- territoire_lieux.add(lieu_Enigme);
- List lieu_deposable_2_conditions_ET = new ArrayList<>();
-
- List lieu_deposable_2_conditions_TEST_1 = new ArrayList<>();
-
- lieu_deposable_2_conditions_TEST_1.add(
- new ConditionBoolean(false)
- );
- lieu_deposable_2_conditions_ET.add(lieu_deposable_2_conditions_TEST_1)
-
-
- Condition lieu_deposable_2_condition = new Condition(lieu_deposable_2_conditions_ET);
- List lieu_depart_2_conditions_ET = new ArrayList<>();
-
- List lieu_depart_2_conditions_TEST_1 = new ArrayList<>();
-
- lieu_depart_2_conditions_TEST_1.add(
- new ConditionBoolean(false)
- );
- lieu_depart_2_conditions_ET.add(lieu_depart_2_conditions_TEST_1)
-
-
- Condition lieu_depart_2_condition = new Condition(lieu_depart_2_conditions_ET);
- List lieu_fin_2_conditions_ET = new ArrayList<>();
-
- List lieu_fin_2_conditions_TEST_1 = new ArrayList<>();
-
- lieu_fin_2_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_fin_2_conditions_ET.add(lieu_fin_2_conditions_TEST_1)
-
-
- Condition lieu_fin_2_condition = new Condition(lieu_fin_2_conditions_ET);
- List lieu_Succes_2_descriptions = new ArrayList<>();
-
- List lieu_Succes_2_description_1_conditions_ET = new ArrayList<>();
-
- List lieu_Succes_2_description_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_Succes_2_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_Succes_2_description_1_conditions_ET.add(lieu_Succes_2_description_1_conditions_TEST_1)
-
-
- Condition lieu_Succes_2_description_1_condition = new Condition(lieu_Succes_2_description_1_conditions_ET);
-
- lieu_Succes_2_descriptions.add(
- new Description(
- "lieu succes",
- lieu_Succes_2_description_1_condition
- )
- );
-
- List lieu_Succes_2_personnes = new ArrayList<>();
- List lieu_Succes_2_objets = new ArrayList<>();
- List lieu_Succes_2_connaissances = new ArrayList<>();
-
- // TODO: utiliser un search dans la liste plutot que de déclarer les objets
- Lieu lieu_Succes = new Lieu(
- "Succes",
- lieu_deposable_2_condition,
- lieu_depart_2_condition,
- lieu_fin_2_condition,
- lieu_Succes_2_personnes,
- lieu_Succes_2_descriptions,
- lieu_Succes_2_objets,
- lieu_Succes_2_connaissances
- );
-
- territoire_lieux.add(lieu_Succes);
- List lieu_deposable_3_conditions_ET = new ArrayList<>();
-
- List lieu_deposable_3_conditions_TEST_1 = new ArrayList<>();
-
- lieu_deposable_3_conditions_TEST_1.add(
- new ConditionBoolean(false)
- );
- lieu_deposable_3_conditions_ET.add(lieu_deposable_3_conditions_TEST_1)
-
-
- Condition lieu_deposable_3_condition = new Condition(lieu_deposable_3_conditions_ET);
- List lieu_depart_3_conditions_ET = new ArrayList<>();
-
- List lieu_depart_3_conditions_TEST_1 = new ArrayList<>();
-
- lieu_depart_3_conditions_TEST_1.add(
- new ConditionBoolean(false)
- );
- lieu_depart_3_conditions_ET.add(lieu_depart_3_conditions_TEST_1)
-
-
- Condition lieu_depart_3_condition = new Condition(lieu_depart_3_conditions_ET);
- List lieu_fin_3_conditions_ET = new ArrayList<>();
-
- List lieu_fin_3_conditions_TEST_1 = new ArrayList<>();
-
- lieu_fin_3_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_fin_3_conditions_ET.add(lieu_fin_3_conditions_TEST_1)
-
-
- Condition lieu_fin_3_condition = new Condition(lieu_fin_3_conditions_ET);
- List lieu_Echec_3_descriptions = new ArrayList<>();
-
- List lieu_Echec_3_description_1_conditions_ET = new ArrayList<>();
-
- List lieu_Echec_3_description_1_conditions_TEST_1 = new ArrayList<>();
-
- lieu_Echec_3_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- lieu_Echec_3_description_1_conditions_ET.add(lieu_Echec_3_description_1_conditions_TEST_1)
-
-
- Condition lieu_Echec_3_description_1_condition = new Condition(lieu_Echec_3_description_1_conditions_ET);
-
- lieu_Echec_3_descriptions.add(
- new Description(
- "lieu echec",
- lieu_Echec_3_description_1_condition
- )
- );
-
- List lieu_Echec_3_personnes = new ArrayList<>();
- List lieu_Echec_3_objets = new ArrayList<>();
- List lieu_Echec_3_connaissances = new ArrayList<>();
-
- // TODO: utiliser un search dans la liste plutot que de déclarer les objets
- Lieu lieu_Echec = new Lieu(
- "Echec",
- lieu_deposable_3_condition,
- lieu_depart_3_condition,
- lieu_fin_3_condition,
- lieu_Echec_3_personnes,
- lieu_Echec_3_descriptions,
- lieu_Echec_3_objets,
- lieu_Echec_3_connaissances
- );
-
- territoire_lieux.add(lieu_Echec);
-
-
-// "Chemins"
-
-List territoire_chemins = new ArrayList<>();
- List chemin_ouvert_win_1_conditions_ET = new ArrayList<>();
-
- List chemin_ouvert_win_1_conditions_TEST_1 = new ArrayList<>();
-
- chemin_ouvert_win_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_ouvert_win_1_conditions_ET.add(chemin_ouvert_win_1_conditions_TEST_1)
-
-
- Condition chemin_ouvert_win_1_condition = new Condition(chemin_ouvert_win_1_conditions_ET);
- List chemin_visible_win_1_conditions_ET = new ArrayList<>();
-
- List chemin_visible_win_1_conditions_TEST_1 = new ArrayList<>();
-
- chemin_visible_win_1_conditions_TEST_1.add(
- new ConditionConnaissance(
- connaissance_Reussite,
- false
- )
- );
- chemin_visible_win_1_conditions_ET.add(chemin_visible_win_1_conditions_TEST_1)
-
-
- Condition chemin_visible_win_1_condition = new Condition(chemin_visible_win_1_conditions_ET);
- List chemin_obligatoire_win_1_conditions_ET = new ArrayList<>();
-
- List chemin_obligatoire_win_1_conditions_TEST_1 = new ArrayList<>();
-
- chemin_obligatoire_win_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_obligatoire_win_1_conditions_ET.add(chemin_obligatoire_win_1_conditions_TEST_1)
-
-
- Condition chemin_obligatoire_win_1_condition = new Condition(chemin_obligatoire_win_1_conditions_ET);
- List chemin_win_1_descriptions = new ArrayList<>();
-
- List chemin_win_1_description_1_conditions_ET = new ArrayList<>();
-
- List chemin_win_1_description_1_conditions_TEST_1 = new ArrayList<>();
-
- chemin_win_1_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_win_1_description_1_conditions_ET.add(chemin_win_1_description_1_conditions_TEST_1)
-
-
- Condition chemin_win_1_description_1_condition = new Condition(chemin_win_1_description_1_conditions_ET);
-
- chemin_win_1_descriptions.add(
- new Description(
- "Le chemin de la victoire !",
- chemin_win_1_description_1_condition
- )
- );
-
- List chemin_win_1_connaissances = new ArrayList<>();
- List chemin_win_1_objet_recus = new ArrayList<>();
- List chemin_win_1_objet_conso = new ArrayList<>();
-
- Chemin chemins_win new Chemin(
- "win",
- lieu_Enigme,
- lieu_Succes,
- chemin_ouvert_win_1_condition,
- chemin_visible_win_1_condition,
- chemin_obligatoire_win_1_condition,
- chemin_win_1_connaissances
- chemin_win_1_objets_recus,
- chemin_win_1_objets_conso,
- chemin_win_1_descriptions,
- );
-
- territoire_chemins.add(chemins_win);
- List chemin_ouvert_loose_2_conditions_ET = new ArrayList<>();
-
- List chemin_ouvert_loose_2_conditions_TEST_1 = new ArrayList<>();
-
- chemin_ouvert_loose_2_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_ouvert_loose_2_conditions_ET.add(chemin_ouvert_loose_2_conditions_TEST_1)
-
-
- Condition chemin_ouvert_loose_2_condition = new Condition(chemin_ouvert_loose_2_conditions_ET);
- List chemin_visible_loose_2_conditions_ET = new ArrayList<>();
-
- List chemin_visible_loose_2_conditions_TEST_1 = new ArrayList<>();
-
- chemin_visible_loose_2_conditions_TEST_1.add(
- new ConditionObjet(
- objet_tentatives,
- "==",
- 0
- )
- );
- chemin_visible_loose_2_conditions_ET.add(chemin_visible_loose_2_conditions_TEST_1)
-
-
- Condition chemin_visible_loose_2_condition = new Condition(chemin_visible_loose_2_conditions_ET);
- List chemin_obligatoire_loose_2_conditions_ET = new ArrayList<>();
-
- List chemin_obligatoire_loose_2_conditions_TEST_1 = new ArrayList<>();
-
- chemin_obligatoire_loose_2_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_obligatoire_loose_2_conditions_ET.add(chemin_obligatoire_loose_2_conditions_TEST_1)
-
-
- Condition chemin_obligatoire_loose_2_condition = new Condition(chemin_obligatoire_loose_2_conditions_ET);
- List chemin_loose_2_descriptions = new ArrayList<>();
-
- List chemin_loose_2_description_1_conditions_ET = new ArrayList<>();
-
- List chemin_loose_2_description_1_conditions_TEST_1 = new ArrayList<>();
-
- chemin_loose_2_description_1_conditions_TEST_1.add(
- new ConditionBoolean(true)
- );
- chemin_loose_2_description_1_conditions_ET.add(chemin_loose_2_description_1_conditions_TEST_1)
-
-
- Condition chemin_loose_2_description_1_condition = new Condition(chemin_loose_2_description_1_conditions_ET);
-
- chemin_loose_2_descriptions.add(
- new Description(
- "Le chemin de la loose !",
- chemin_loose_2_description_1_condition
- )
- );
-
- List chemin_loose_2_connaissances = new ArrayList<>();
- List chemin_loose_2_objet_recus = new ArrayList<>();
- List chemin_loose_2_objet_conso = new ArrayList<>();
-
- Chemin chemins_loose new Chemin(
- "loose",
- lieu_Enigme,
- lieu_Echec,
- chemin_ouvert_loose_2_condition,
- chemin_visible_loose_2_condition,
- chemin_obligatoire_loose_2_condition,
- chemin_loose_2_connaissances
- chemin_loose_2_objets_recus,
- chemin_loose_2_objets_conso,
- chemin_loose_2_descriptions,
- );
-
- territoire_chemins.add(chemins_loose);
-
-}
-}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Territoire.java b/runtime-workspace/fr.n7.game.examples/src-gen/Territoire.java
new file mode 100644
index 0000000..9b4b329
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Territoire.java
@@ -0,0 +1,13 @@
+import java.util.List;
+
+public class Territoire {
+ List lieux;
+ List chemins;
+
+ public Territoire(
+ List lieux,
+ List chemins) {
+ this.lieux = lieux;
+ this.chemins = chemins;
+ }
+}
diff --git a/runtime-workspace/fr.n7.game.examples/src-gen/Transformation.java b/runtime-workspace/fr.n7.game.examples/src-gen/Transformation.java
new file mode 100644
index 0000000..e4b2aeb
--- /dev/null
+++ b/runtime-workspace/fr.n7.game.examples/src-gen/Transformation.java
@@ -0,0 +1,16 @@
+import java.util.List;
+
+public class Transformation {
+ Condition possible;
+ List objetsSources;
+ List objetsResultats;
+
+ public Transformation(
+ Condition possible,
+ List objetsSources,
+ List objetsResultats) {
+ this.possible = possible;
+ this.objetsSources = objetsSources;
+ this.objetsResultats = objetsResultats;
+ }
+}
diff --git a/workspace/fr.n7.game.toPrototype/bin/.gitignore b/workspace/fr.n7.game.toPrototype/bin/.gitignore
deleted file mode 100644
index 44fde90..0000000
--- a/workspace/fr.n7.game.toPrototype/bin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/fr/
diff --git a/workspace/fr.n7.game.toPrototype/bin/fr/n7/game/toPrototype/main/toPrototype.emtl b/workspace/fr.n7.game.toPrototype/bin/fr/n7/game/toPrototype/main/toPrototype.emtl
new file mode 100644
index 0000000..4093a05
--- /dev/null
+++ b/workspace/fr.n7.game.toPrototype/bin/fr/n7/game/toPrototype/main/toPrototype.emtl
@@ -0,0 +1,8244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+