feat: omg le prototype fonctionne, un peu broken mais tkt
This commit is contained in:
parent
5b479839b2
commit
298be2b9ef
|
@ -81,7 +81,7 @@
|
|||
"lieu_in": "Enigme",
|
||||
"lieu_out": "Echec",
|
||||
"ouvert": true,
|
||||
"visible": tentatives == 0,
|
||||
"visible": tentative == 0,
|
||||
"obligatoire": true,
|
||||
"connaissances": [],
|
||||
"objets_recus": [],
|
||||
|
|
|
@ -10,10 +10,10 @@ public class Action {
|
|||
|
||||
public Action(
|
||||
Condition visible,
|
||||
Condition finInterraction,
|
||||
List<Connaissance> connaissances,
|
||||
List<Objet> objetsRecus,
|
||||
List<Objet> objetsConso,
|
||||
Condition finInterraction,
|
||||
List<Description> descriptions) {
|
||||
this.visible = visible;
|
||||
this.connaissances = connaissances;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import java.util.List;
|
||||
|
||||
public class Chemin {
|
||||
String nom;
|
||||
Lieu lieuIn;
|
||||
Lieu lieuOut;
|
||||
Condition ouvert;
|
||||
|
@ -12,6 +13,7 @@ public class Chemin {
|
|||
List<Description> descriptions;
|
||||
|
||||
public Chemin(
|
||||
String nom,
|
||||
Lieu lieuIn,
|
||||
Lieu lieuOut,
|
||||
Condition ouvert,
|
||||
|
@ -21,6 +23,7 @@ public class Chemin {
|
|||
List<Objet> objetsRecus,
|
||||
List<Objet> objetsConso,
|
||||
List<Description> descriptions) {
|
||||
this.nom = nom;
|
||||
this.lieuIn = lieuIn;
|
||||
this.lieuOut = lieuOut;
|
||||
this.ouvert = ouvert;
|
||||
|
|
|
@ -25,6 +25,11 @@ public class Jeu {
|
|||
this.transformations = transformations;
|
||||
}
|
||||
|
||||
public static void clearScreen() {
|
||||
System.out.print("\033[H\033[2J");
|
||||
System.out.flush();
|
||||
}
|
||||
|
||||
void jouer() {
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
|
||||
|
||||
|
@ -39,7 +44,8 @@ public class Jeu {
|
|||
while (!lieu.fin.evaluer()) {
|
||||
boolean recommencer = false;
|
||||
|
||||
System.out.println("\n\n\n\n\n\n\n\n\n\nLieu : " + lieu + "\n");
|
||||
clearScreen();
|
||||
System.out.println("Lieu : " + lieu + "\n");
|
||||
System.out.println(Jeu.explorateur);
|
||||
|
||||
for (Personne p : lieu.personnes) {
|
||||
|
@ -100,7 +106,8 @@ public class Jeu {
|
|||
} 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");
|
||||
clearScreen();
|
||||
System.out.println("Lieu : " + lieu + "\n");
|
||||
System.out.println(Jeu.explorateur);
|
||||
System.out.println(p + " :");
|
||||
|
||||
|
|
724
runtime-workspace/fr.n7.game.examples/src-gen/Prototype.java
Normal file
724
runtime-workspace/fr.n7.game.examples/src-gen/Prototype.java
Normal file
|
@ -0,0 +1,724 @@
|
|||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
public class Prototype {
|
||||
public static void main(String[] args) {
|
||||
|
||||
// "Objets"
|
||||
List<Objet> jeu_objets = new ArrayList<>();
|
||||
|
||||
List<Description> objet_tentative_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> objet_tentative_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> objet_tentative_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
objet_tentative_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
objet_tentative_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(objet_tentative_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition objet_tentative_description_1_condition = new Condition(objet_tentative_description_1_conditions_ET_list);
|
||||
|
||||
objet_tentative_descriptions.add(
|
||||
new Description(
|
||||
"permet repondre une question du sphinx",
|
||||
objet_tentative_description_1_condition
|
||||
)
|
||||
);
|
||||
List<ConditionEt> objet_visible_tentative_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> objet_visible_tentative_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
objet_visible_tentative_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
objet_visible_tentative_conditions_ET_list.add(
|
||||
new ConditionEt(objet_visible_tentative_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition objet_visible_tentative_condition = new Condition(objet_visible_tentative_conditions_ET_list);
|
||||
Objet objet_tentative = new Objet(
|
||||
"tentative",
|
||||
1,
|
||||
objet_visible_tentative_condition,
|
||||
objet_tentative_descriptions
|
||||
);
|
||||
jeu_objets.add(objet_tentative);
|
||||
|
||||
// "Connaissances"
|
||||
List<Connaissance> jeu_connaissances = new ArrayList<>();
|
||||
|
||||
List<Description> connaissance_Reussite_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> connaissance_Reussite_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> connaissance_Reussite_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
connaissance_Reussite_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
connaissance_Reussite_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(connaissance_Reussite_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition connaissance_Reussite_description_1_condition = new Condition(connaissance_Reussite_description_1_conditions_ET_list);
|
||||
|
||||
connaissance_Reussite_descriptions.add(
|
||||
new Description(
|
||||
"Permet de se casser de la",
|
||||
connaissance_Reussite_description_1_condition
|
||||
)
|
||||
);
|
||||
List<ConditionEt> connaissance_visible_Reussite_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> connaissance_visible_Reussite_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
connaissance_visible_Reussite_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
connaissance_visible_Reussite_conditions_ET_list.add(
|
||||
new ConditionEt(connaissance_visible_Reussite_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition connaissance_visible_Reussite_condition = new Condition(connaissance_visible_Reussite_conditions_ET_list);
|
||||
Connaissance connaissance_Reussite = new Connaissance(
|
||||
"Reussite",
|
||||
connaissance_visible_Reussite_condition,
|
||||
connaissance_Reussite_descriptions
|
||||
);
|
||||
jeu_connaissances.add(connaissance_Reussite);
|
||||
|
||||
// "Transformations"
|
||||
List<Transformation> jeu_transformations = new ArrayList<>();
|
||||
|
||||
|
||||
// "Explorateur"
|
||||
|
||||
List<Objet> explorateur_inventaire = new ArrayList<>();
|
||||
explorateur_inventaire.add(objet_tentative);
|
||||
explorateur_inventaire.add(objet_tentative);
|
||||
explorateur_inventaire.add(objet_tentative);
|
||||
|
||||
List<Connaissance> explorateur_connaissances = new ArrayList<>();
|
||||
|
||||
Jeu.explorateur = new Explorateur(
|
||||
3,
|
||||
explorateur_connaissances,
|
||||
explorateur_inventaire
|
||||
);
|
||||
|
||||
// "Personnes"
|
||||
|
||||
List<Personne> jeu_personnes = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> personne_visible_Sphinx_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_visible_Sphinx_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_visible_Sphinx_1_conditions_TEST_list.add(
|
||||
new ConditionConnaissance(
|
||||
connaissance_Reussite,
|
||||
true
|
||||
)
|
||||
);
|
||||
personne_visible_Sphinx_1_conditions_TEST_list.add(
|
||||
new ConditionObjet(
|
||||
objet_tentative,
|
||||
">",
|
||||
0
|
||||
)
|
||||
);
|
||||
personne_visible_Sphinx_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_visible_Sphinx_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_visible_Sphinx_1_condition = new Condition(personne_visible_Sphinx_1_conditions_ET_list);
|
||||
List<ConditionEt> personne_obligatoire_Sphinx_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_obligatoire_Sphinx_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_obligatoire_Sphinx_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_obligatoire_Sphinx_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_obligatoire_Sphinx_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_obligatoire_Sphinx_1_condition = new Condition(personne_obligatoire_Sphinx_1_conditions_ET_list);
|
||||
List<Interaction> personne_Sphinx_1_interactions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_visible_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_visible_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_visible_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_visible_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_visible_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_visible_1_condition = new Condition(personne_Sphinx_1_interaction_visible_1_conditions_ET_list);
|
||||
List<Action> personne_Sphinx_1_interaction_1_actions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_visible_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_visible_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_visible_1_conditions_ET_list);
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_fin_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_fin_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_fin_1_conditions_ET_list);
|
||||
List<Description> personne_Sphinx_1_interaction_1_action_1_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_1_action_1_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_1_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_1_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_1_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_1_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_1_description_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_1_description_1_conditions_ET_list);
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_1_descriptions.add(
|
||||
new Description(
|
||||
"la bonne reponse",
|
||||
personne_Sphinx_1_interaction_1_action_1_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Connaissance> personne_Sphinx_1_interaction_1_action_1_connaissances = new ArrayList<>();
|
||||
personne_Sphinx_1_interaction_1_action_1_connaissances.add(connaissance_Reussite);
|
||||
List<Objet> personne_Sphinx_1_interaction_1_action_1_objets_conso = new ArrayList<>();
|
||||
List<Objet> 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<ConditionEt> personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_visible_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_visible_2_condition = new Condition(personne_Sphinx_1_interaction_1_action_visible_2_conditions_ET_list);
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_fin_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_fin_2_condition = new Condition(personne_Sphinx_1_interaction_1_action_fin_2_conditions_ET_list);
|
||||
List<Description> personne_Sphinx_1_interaction_1_action_2_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> personne_Sphinx_1_interaction_1_action_2_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> personne_Sphinx_1_interaction_1_action_2_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_2_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
personne_Sphinx_1_interaction_1_action_2_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(personne_Sphinx_1_interaction_1_action_2_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition personne_Sphinx_1_interaction_1_action_2_description_1_condition = new Condition(personne_Sphinx_1_interaction_1_action_2_description_1_conditions_ET_list);
|
||||
|
||||
personne_Sphinx_1_interaction_1_action_2_descriptions.add(
|
||||
new Description(
|
||||
"la mauvaise reponse",
|
||||
personne_Sphinx_1_interaction_1_action_2_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Connaissance> personne_Sphinx_1_interaction_1_action_2_connaissances = new ArrayList<>();
|
||||
List<Objet> personne_Sphinx_1_interaction_1_action_2_objets_conso = new ArrayList<>();
|
||||
personne_Sphinx_1_interaction_1_action_2_objets_conso.add(objet_tentative);
|
||||
List<Objet> 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_recus,
|
||||
personne_Sphinx_1_interaction_1_action_2_objets_conso,
|
||||
personne_Sphinx_1_interaction_1_action_2_descriptions
|
||||
)
|
||||
);
|
||||
|
||||
List<Connaissance> personne_Sphinx_1_interaction_1_connaissances = new ArrayList<>();
|
||||
List<Objet> personne_Sphinx_1_interaction_1_objets_conso = new ArrayList<>();
|
||||
List<Objet> personne_Sphinx_1_interaction_1_objets_recus = new ArrayList<>();
|
||||
|
||||
personne_Sphinx_1_interactions.add(
|
||||
new Interaction(
|
||||
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<Lieu> territoire_lieux = new ArrayList<>();
|
||||
List<ConditionEt> lieu_deposable_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_deposable_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_deposable_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_deposable_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_deposable_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_deposable_1_condition = new Condition(lieu_deposable_1_conditions_ET_list);
|
||||
List<ConditionEt> lieu_depart_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_depart_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_depart_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_depart_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_depart_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_depart_1_condition = new Condition(lieu_depart_1_conditions_ET_list);
|
||||
List<ConditionEt> lieu_fin_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_fin_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_fin_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(false)
|
||||
);
|
||||
lieu_fin_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_fin_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_fin_1_condition = new Condition(lieu_fin_1_conditions_ET_list);
|
||||
List<Description> lieu_Enigme_1_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> lieu_Enigme_1_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_Enigme_1_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_Enigme_1_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_Enigme_1_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_Enigme_1_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_Enigme_1_description_1_condition = new Condition(lieu_Enigme_1_description_1_conditions_ET_list);
|
||||
|
||||
lieu_Enigme_1_descriptions.add(
|
||||
new Description(
|
||||
"lieu de depart",
|
||||
lieu_Enigme_1_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Personne> lieu_Enigme_1_personnes = new ArrayList<>();
|
||||
lieu_Enigme_1_personnes.add(personne_Sphinx);
|
||||
List<Objet> lieu_Enigme_1_objets = new ArrayList<>();
|
||||
List<Connaissance> 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<ConditionEt> lieu_deposable_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_deposable_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_deposable_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(false)
|
||||
);
|
||||
lieu_deposable_2_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_deposable_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_deposable_2_condition = new Condition(lieu_deposable_2_conditions_ET_list);
|
||||
List<ConditionEt> lieu_depart_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_depart_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_depart_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(false)
|
||||
);
|
||||
lieu_depart_2_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_depart_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_depart_2_condition = new Condition(lieu_depart_2_conditions_ET_list);
|
||||
List<ConditionEt> lieu_fin_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_fin_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_fin_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_fin_2_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_fin_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_fin_2_condition = new Condition(lieu_fin_2_conditions_ET_list);
|
||||
List<Description> lieu_Succes_2_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> lieu_Succes_2_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_Succes_2_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_Succes_2_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_Succes_2_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_Succes_2_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_Succes_2_description_1_condition = new Condition(lieu_Succes_2_description_1_conditions_ET_list);
|
||||
|
||||
lieu_Succes_2_descriptions.add(
|
||||
new Description(
|
||||
"lieu succes",
|
||||
lieu_Succes_2_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Personne> lieu_Succes_2_personnes = new ArrayList<>();
|
||||
List<Objet> lieu_Succes_2_objets = new ArrayList<>();
|
||||
List<Connaissance> 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<ConditionEt> lieu_deposable_3_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_deposable_3_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_deposable_3_conditions_TEST_list.add(
|
||||
new ConditionBoolean(false)
|
||||
);
|
||||
lieu_deposable_3_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_deposable_3_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_deposable_3_condition = new Condition(lieu_deposable_3_conditions_ET_list);
|
||||
List<ConditionEt> lieu_depart_3_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_depart_3_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_depart_3_conditions_TEST_list.add(
|
||||
new ConditionBoolean(false)
|
||||
);
|
||||
lieu_depart_3_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_depart_3_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_depart_3_condition = new Condition(lieu_depart_3_conditions_ET_list);
|
||||
List<ConditionEt> lieu_fin_3_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_fin_3_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_fin_3_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_fin_3_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_fin_3_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_fin_3_condition = new Condition(lieu_fin_3_conditions_ET_list);
|
||||
List<Description> lieu_Echec_3_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> lieu_Echec_3_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> lieu_Echec_3_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
lieu_Echec_3_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
lieu_Echec_3_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(lieu_Echec_3_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition lieu_Echec_3_description_1_condition = new Condition(lieu_Echec_3_description_1_conditions_ET_list);
|
||||
|
||||
lieu_Echec_3_descriptions.add(
|
||||
new Description(
|
||||
"lieu echec",
|
||||
lieu_Echec_3_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Personne> lieu_Echec_3_personnes = new ArrayList<>();
|
||||
List<Objet> lieu_Echec_3_objets = new ArrayList<>();
|
||||
List<Connaissance> 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<Chemin> territoire_chemins = new ArrayList<>();
|
||||
List<ConditionEt> chemin_ouvert_win_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_ouvert_win_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_ouvert_win_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_ouvert_win_1_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_ouvert_win_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_ouvert_win_1_condition = new Condition(chemin_ouvert_win_1_conditions_ET_list);
|
||||
List<ConditionEt> chemin_visible_win_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_visible_win_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_visible_win_1_conditions_TEST_list.add(
|
||||
new ConditionConnaissance(
|
||||
connaissance_Reussite,
|
||||
false
|
||||
)
|
||||
);
|
||||
chemin_visible_win_1_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_visible_win_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_visible_win_1_condition = new Condition(chemin_visible_win_1_conditions_ET_list);
|
||||
List<ConditionEt> chemin_obligatoire_win_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_obligatoire_win_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_obligatoire_win_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_obligatoire_win_1_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_obligatoire_win_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_obligatoire_win_1_condition = new Condition(chemin_obligatoire_win_1_conditions_ET_list);
|
||||
List<Description> chemin_win_1_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> chemin_win_1_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_win_1_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_win_1_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_win_1_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_win_1_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_win_1_description_1_condition = new Condition(chemin_win_1_description_1_conditions_ET_list);
|
||||
|
||||
chemin_win_1_descriptions.add(
|
||||
new Description(
|
||||
"Le chemin de la victoire !",
|
||||
chemin_win_1_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Connaissance> chemin_win_1_connaissances = new ArrayList<>();
|
||||
List<Objet> chemin_win_1_objets_recus = new ArrayList<>();
|
||||
List<Objet> chemin_win_1_objets_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<ConditionEt> chemin_ouvert_loose_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_ouvert_loose_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_ouvert_loose_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_ouvert_loose_2_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_ouvert_loose_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_ouvert_loose_2_condition = new Condition(chemin_ouvert_loose_2_conditions_ET_list);
|
||||
List<ConditionEt> chemin_visible_loose_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_visible_loose_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_visible_loose_2_conditions_TEST_list.add(
|
||||
new ConditionObjet(
|
||||
objet_tentative,
|
||||
"==",
|
||||
0
|
||||
)
|
||||
);
|
||||
chemin_visible_loose_2_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_visible_loose_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_visible_loose_2_condition = new Condition(chemin_visible_loose_2_conditions_ET_list);
|
||||
List<ConditionEt> chemin_obligatoire_loose_2_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_obligatoire_loose_2_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_obligatoire_loose_2_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_obligatoire_loose_2_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_obligatoire_loose_2_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_obligatoire_loose_2_condition = new Condition(chemin_obligatoire_loose_2_conditions_ET_list);
|
||||
List<Description> chemin_loose_2_descriptions = new ArrayList<>();
|
||||
|
||||
List<ConditionEt> chemin_loose_2_description_1_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
List<ConditionTest> chemin_loose_2_description_1_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
chemin_loose_2_description_1_conditions_TEST_list.add(
|
||||
new ConditionBoolean(true)
|
||||
);
|
||||
chemin_loose_2_description_1_conditions_ET_list.add(
|
||||
new ConditionEt(chemin_loose_2_description_1_conditions_TEST_list)
|
||||
);
|
||||
|
||||
Condition chemin_loose_2_description_1_condition = new Condition(chemin_loose_2_description_1_conditions_ET_list);
|
||||
|
||||
chemin_loose_2_descriptions.add(
|
||||
new Description(
|
||||
"Le chemin de la loose !",
|
||||
chemin_loose_2_description_1_condition
|
||||
)
|
||||
);
|
||||
|
||||
List<Connaissance> chemin_loose_2_connaissances = new ArrayList<>();
|
||||
List<Objet> chemin_loose_2_objets_recus = new ArrayList<>();
|
||||
List<Objet> chemin_loose_2_objets_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);
|
||||
|
||||
Territoire jeu_territoire = new Territoire(territoire_lieux, territoire_chemins);
|
||||
|
||||
Jeu ze_GAME = new Jeu(
|
||||
jeu_territoire,
|
||||
jeu_objets,
|
||||
jeu_connaissances,
|
||||
jeu_personnes,
|
||||
jeu_transformations
|
||||
);
|
||||
|
||||
ze_GAME.jouer();
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -31,7 +31,7 @@ List<Objet> jeu_objets = new ArrayList<>();
|
|||
|
||||
[comment Connaissances /]
|
||||
// "Connaissances"
|
||||
List<Conaissance> jeu_connaissances = new ArrayList<>();
|
||||
List<Connaissance> jeu_connaissances = new ArrayList<>();
|
||||
|
||||
[for (c : Connaissance | jeu.connaissances)]
|
||||
[print_descriptions(c.descriptions, 'connaissance_' + c.nom.nom)/]
|
||||
|
@ -120,7 +120,7 @@ List<Lieu> territoire_lieux = new ArrayList<>();
|
|||
|
||||
List<Personne> lieu_[l.nom.nom/]_[i/]_personnes = new ArrayList<>();
|
||||
[for (p : Nom | l.personnes)]
|
||||
lieu_[l.nom.nom/]_[i/]_personnes.add(objet_[p.nom/]);
|
||||
lieu_[l.nom.nom/]_[i/]_personnes.add(personne_[p.nom/]);
|
||||
[/for]
|
||||
List<Objet> lieu_[l.nom.nom/]_[i/]_objets = new ArrayList<>();
|
||||
[for (o : Nom | l.objets)]
|
||||
|
@ -186,17 +186,31 @@ List<Chemin> territoire_chemins = new ArrayList<>();
|
|||
territoire_chemins.add(chemins_[ch.nom.nom/]);
|
||||
[/for]
|
||||
|
||||
Territoire jeu_territoire = new Territoire(territoire_lieux, territoire_chemins);
|
||||
|
||||
Jeu ze_GAME = new Jeu(
|
||||
jeu_territoire,
|
||||
jeu_objets,
|
||||
jeu_connaissances,
|
||||
jeu_personnes,
|
||||
jeu_transformations
|
||||
);
|
||||
|
||||
ze_GAME.jouer();
|
||||
|
||||
}
|
||||
}
|
||||
[/file]
|
||||
[/template]
|
||||
|
||||
[template public print_condition(c : Condition, name: String) post (trim()) ]
|
||||
List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
||||
List<ConditionEt> [name/]_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
[for (cET : ConditionEt | c.condition)]
|
||||
List<ConditionTest> [name/]_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
[for (cTEST : ConditionTest | cET.conditionTest)]
|
||||
[name/]_conditions_ET_[i/].add(
|
||||
[name/]_conditions_TEST_list.add(
|
||||
[if (cTEST.oclIsKindOf(ConditionBoolean))]
|
||||
[let cBOOL : ConditionBoolean = cTEST.oclAsType(ConditionBoolean)]
|
||||
new ConditionBoolean([cBOOL.valeur/])
|
||||
|
@ -205,7 +219,7 @@ List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
|||
[let cCONN : ConditionConnaissance = cTEST.oclAsType(ConditionConnaissance)]
|
||||
new ConditionConnaissance(
|
||||
connaissance_[cCONN.connaissance/],
|
||||
[if (cCONN.connaissance.startsWith('!'))]true[else]false[/if]
|
||||
[if (cCONN.negation = '!')]true[else]false[/if]
|
||||
)
|
||||
[/let]
|
||||
[elseif (cTEST.oclIsKindOf(ConditionObjet))]
|
||||
|
@ -218,12 +232,13 @@ List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
|||
[/let]
|
||||
[/if]
|
||||
);
|
||||
[name/]_conditions_ET.add([name/]_conditions_TEST_[i/]);
|
||||
|
||||
[/for]
|
||||
[name/]_conditions_ET_list.add(
|
||||
new ConditionEt([name/]_conditions_TEST_list)
|
||||
);
|
||||
[/for]
|
||||
|
||||
Condition [name/]_condition = new Condition([name/]_conditions_ET);
|
||||
Condition [name/]_condition = new Condition([name/]_conditions_ET_list);
|
||||
[/template]
|
||||
|
||||
[template public print_descriptions(ds : OrderedSet(Description), name: String) post (trim()) ]
|
||||
|
@ -247,16 +262,18 @@ List<Action> [name/]_actions = new ArrayList<>();
|
|||
[for (a : Action | as)]
|
||||
[print_condition(a.visible, name + '_action_visible_' + i.toString())/]
|
||||
[print_condition(a.finInteraction, name + '_action_fin_' + i.toString())/]
|
||||
[print_descriptions(a.descriptions, name + '_' + i.toString())/]
|
||||
[print_descriptions(a.descriptions, name + '_action_' + i.toString())/]
|
||||
|
||||
List<Connaissance> [name/]_action_[i/]_connaissances = new ArrayList<>();
|
||||
[for (c : Nom | a.connaissances)]
|
||||
[name/]_action_[i/]_connaissances.add(connaissance_[c.nom/]);
|
||||
[/for]
|
||||
List<Objet> [name/]_action_[i/]_objets_conso = new ArrayList<>();
|
||||
[for (c : Nom | a.objetsConso)]
|
||||
[name/]_action_[i/]_objets_conso.add(objet_[c.nom/]);
|
||||
[/for]
|
||||
[let test : String = name + '_action_' + i + '_objets_conso'] // TODO: OMG C DÉGUEULASSE -> LE FAIRE PARTOUT
|
||||
[for (c : Nom | a.objetsConso)]
|
||||
[test/].add(objet_[c.nom/]);
|
||||
[/for]
|
||||
[/let]
|
||||
List<Objet> [name/]_action_[i/]_objets_recus = new ArrayList<>();
|
||||
[for (c : Nom | a.objetsRecus)]
|
||||
[name/]_action_[i/]_objets_recus.add(objet_[c.nom/]);
|
||||
|
@ -267,16 +284,16 @@ List<Action> [name/]_actions = new ArrayList<>();
|
|||
[name/]_action_visible_[i/]_condition,
|
||||
[name/]_action_fin_[i/]_condition,
|
||||
[name/]_action_[i/]_connaissances,
|
||||
[name/]_action_[i/]_objets_conso,
|
||||
[name/]_action_[i/]_objets_recus,
|
||||
[name/]_action_[i/]_objets_conso,
|
||||
[name/]_action_[i/]_descriptions
|
||||
)
|
||||
);
|
||||
);
|
||||
[/for]
|
||||
[/template]
|
||||
|
||||
[template public print_interactions(is: OrderedSet(Interaction), name: String)]
|
||||
List<Action> [name/]_interactions = new ArrayList<>();
|
||||
List<Interaction> [name/]_interactions = new ArrayList<>();
|
||||
|
||||
[for (it : Interaction | is)]
|
||||
[print_condition(it.visible, name + '_interaction_visible_' + i.toString())/]
|
||||
|
@ -295,8 +312,8 @@ List<Action> [name/]_interactions = new ArrayList<>();
|
|||
[name/]_interaction_[i/]_objets_recus.add(objet_[c.nom/]);
|
||||
[/for]
|
||||
|
||||
[name/]_actions.add(
|
||||
new Action(
|
||||
[name/]_interactions.add(
|
||||
new Interaction(
|
||||
[name/]_interaction_visible_[i/]_condition,
|
||||
[name/]_interaction_[i/]_connaissances,
|
||||
[name/]_interaction_[i/]_objets_conso,
|
||||
|
|
|
@ -31,7 +31,7 @@ List<Objet> jeu_objets = new ArrayList<>();
|
|||
|
||||
[comment Connaissances /]
|
||||
// "Connaissances"
|
||||
List<Conaissance> jeu_connaissances = new ArrayList<>();
|
||||
List<Connaissance> jeu_connaissances = new ArrayList<>();
|
||||
|
||||
[for (c : Connaissance | jeu.connaissances)]
|
||||
[print_descriptions(c.descriptions, 'connaissance_' + c.nom.nom)/]
|
||||
|
@ -120,7 +120,7 @@ List<Lieu> territoire_lieux = new ArrayList<>();
|
|||
|
||||
List<Personne> lieu_[l.nom.nom/]_[i/]_personnes = new ArrayList<>();
|
||||
[for (p : Nom | l.personnes)]
|
||||
lieu_[l.nom.nom/]_[i/]_personnes.add(objet_[p.nom/]);
|
||||
lieu_[l.nom.nom/]_[i/]_personnes.add(personne_[p.nom/]);
|
||||
[/for]
|
||||
List<Objet> lieu_[l.nom.nom/]_[i/]_objets = new ArrayList<>();
|
||||
[for (o : Nom | l.objets)]
|
||||
|
@ -186,17 +186,31 @@ List<Chemin> territoire_chemins = new ArrayList<>();
|
|||
territoire_chemins.add(chemins_[ch.nom.nom/]);
|
||||
[/for]
|
||||
|
||||
Territoire jeu_territoire = new Territoire(territoire_lieux, territoire_chemins);
|
||||
|
||||
Jeu ze_GAME = new Jeu(
|
||||
jeu_territoire,
|
||||
jeu_objets,
|
||||
jeu_connaissances,
|
||||
jeu_personnes,
|
||||
jeu_transformations
|
||||
);
|
||||
|
||||
ze_GAME.jouer();
|
||||
|
||||
}
|
||||
}
|
||||
[/file]
|
||||
[/template]
|
||||
|
||||
[template public print_condition(c : Condition, name: String) post (trim()) ]
|
||||
List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
||||
List<ConditionEt> [name/]_conditions_ET_list = new ArrayList<>();
|
||||
|
||||
[for (cET : ConditionEt | c.condition)]
|
||||
List<ConditionTest> [name/]_conditions_TEST_list = new ArrayList<>();
|
||||
|
||||
[for (cTEST : ConditionTest | cET.conditionTest)]
|
||||
[name/]_conditions_ET_[i/].add(
|
||||
[name/]_conditions_TEST_list.add(
|
||||
[if (cTEST.oclIsKindOf(ConditionBoolean))]
|
||||
[let cBOOL : ConditionBoolean = cTEST.oclAsType(ConditionBoolean)]
|
||||
new ConditionBoolean([cBOOL.valeur/])
|
||||
|
@ -205,7 +219,7 @@ List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
|||
[let cCONN : ConditionConnaissance = cTEST.oclAsType(ConditionConnaissance)]
|
||||
new ConditionConnaissance(
|
||||
connaissance_[cCONN.connaissance/],
|
||||
[if (cCONN.connaissance.startsWith('!'))]true[else]false[/if]
|
||||
[if (cCONN.negation = '!')]true[else]false[/if]
|
||||
)
|
||||
[/let]
|
||||
[elseif (cTEST.oclIsKindOf(ConditionObjet))]
|
||||
|
@ -218,12 +232,13 @@ List<ConditionEt> [name/]_conditions_ET = new ArrayList<>();
|
|||
[/let]
|
||||
[/if]
|
||||
);
|
||||
[name/]_conditions_ET.add([name/]_conditions_TEST_[i/]);
|
||||
|
||||
[/for]
|
||||
[name/]_conditions_ET_list.add(
|
||||
new ConditionEt([name/]_conditions_TEST_list)
|
||||
);
|
||||
[/for]
|
||||
|
||||
Condition [name/]_condition = new Condition([name/]_conditions_ET);
|
||||
Condition [name/]_condition = new Condition([name/]_conditions_ET_list);
|
||||
[/template]
|
||||
|
||||
[template public print_descriptions(ds : OrderedSet(Description), name: String) post (trim()) ]
|
||||
|
@ -247,16 +262,18 @@ List<Action> [name/]_actions = new ArrayList<>();
|
|||
[for (a : Action | as)]
|
||||
[print_condition(a.visible, name + '_action_visible_' + i.toString())/]
|
||||
[print_condition(a.finInteraction, name + '_action_fin_' + i.toString())/]
|
||||
[print_descriptions(a.descriptions, name + '_' + i.toString())/]
|
||||
[print_descriptions(a.descriptions, name + '_action_' + i.toString())/]
|
||||
|
||||
List<Connaissance> [name/]_action_[i/]_connaissances = new ArrayList<>();
|
||||
[for (c : Nom | a.connaissances)]
|
||||
[name/]_action_[i/]_connaissances.add(connaissance_[c.nom/]);
|
||||
[/for]
|
||||
List<Objet> [name/]_action_[i/]_objets_conso = new ArrayList<>();
|
||||
[for (c : Nom | a.objetsConso)]
|
||||
[name/]_action_[i/]_objets_conso.add(objet_[c.nom/]);
|
||||
[/for]
|
||||
[let test : String = name + '_action_' + i + '_objets_conso'] // TODO: OMG C DÉGUEULASSE -> LE FAIRE PARTOUT
|
||||
[for (c : Nom | a.objetsConso)]
|
||||
[test/].add(objet_[c.nom/]);
|
||||
[/for]
|
||||
[/let]
|
||||
List<Objet> [name/]_action_[i/]_objets_recus = new ArrayList<>();
|
||||
[for (c : Nom | a.objetsRecus)]
|
||||
[name/]_action_[i/]_objets_recus.add(objet_[c.nom/]);
|
||||
|
@ -267,16 +284,16 @@ List<Action> [name/]_actions = new ArrayList<>();
|
|||
[name/]_action_visible_[i/]_condition,
|
||||
[name/]_action_fin_[i/]_condition,
|
||||
[name/]_action_[i/]_connaissances,
|
||||
[name/]_action_[i/]_objets_conso,
|
||||
[name/]_action_[i/]_objets_recus,
|
||||
[name/]_action_[i/]_objets_conso,
|
||||
[name/]_action_[i/]_descriptions
|
||||
)
|
||||
);
|
||||
);
|
||||
[/for]
|
||||
[/template]
|
||||
|
||||
[template public print_interactions(is: OrderedSet(Interaction), name: String)]
|
||||
List<Action> [name/]_interactions = new ArrayList<>();
|
||||
List<Interaction> [name/]_interactions = new ArrayList<>();
|
||||
|
||||
[for (it : Interaction | is)]
|
||||
[print_condition(it.visible, name + '_interaction_visible_' + i.toString())/]
|
||||
|
@ -295,8 +312,8 @@ List<Action> [name/]_interactions = new ArrayList<>();
|
|||
[name/]_interaction_[i/]_objets_recus.add(objet_[c.nom/]);
|
||||
[/for]
|
||||
|
||||
[name/]_actions.add(
|
||||
new Action(
|
||||
[name/]_interactions.add(
|
||||
new Interaction(
|
||||
[name/]_interaction_visible_[i/]_condition,
|
||||
[name/]_interaction_[i/]_connaissances,
|
||||
[name/]_interaction_[i/]_objets_conso,
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue