amélioration du proto java
This commit is contained in:
parent
bdd0437452
commit
59c1aaf71a
158
runtime-workspace/fr.n7.game.examples/enigmeLibre.game
Normal file
158
runtime-workspace/fr.n7.game.examples/enigmeLibre.game
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
Objets:
|
||||||
|
- tentative:
|
||||||
|
taille: 1
|
||||||
|
visible: true
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "permet repondre une question du sphinx"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
Transformations:
|
||||||
|
|
||||||
|
Connaissances:
|
||||||
|
- Reussite:
|
||||||
|
visible: true
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "Permet de se casser de la"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
Explorateur:
|
||||||
|
taille: 3
|
||||||
|
connaissances:
|
||||||
|
objets:
|
||||||
|
- tentative
|
||||||
|
- tentative
|
||||||
|
- tentative
|
||||||
|
|
||||||
|
Personnes:
|
||||||
|
- Sphinx:
|
||||||
|
visible: ! Reussite && tentative > 0
|
||||||
|
obligatoire: false
|
||||||
|
interactions:
|
||||||
|
- Parler:
|
||||||
|
visible: true
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
actions:
|
||||||
|
- Reponse_1:
|
||||||
|
visible: true
|
||||||
|
fin_interaction: true
|
||||||
|
connaissances:
|
||||||
|
- Reussite
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "la bonne reponse"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
- Reponse_2:
|
||||||
|
visible: true
|
||||||
|
fin_interaction: true
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
- tentative
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "la mauvaise reponse"
|
||||||
|
condition: true
|
||||||
|
- Combattre:
|
||||||
|
visible: true
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
actions:
|
||||||
|
- Action_1:
|
||||||
|
visible: true
|
||||||
|
fin_interaction: true
|
||||||
|
connaissances:
|
||||||
|
- Reussite
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "la bonne reponse"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
- Action_2:
|
||||||
|
visible: true
|
||||||
|
fin_interaction: true
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
- tentative
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "la mauvaise reponse"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
Territoire:
|
||||||
|
Lieux:
|
||||||
|
- Enigme:
|
||||||
|
deposable: true
|
||||||
|
depart: true
|
||||||
|
fin: false
|
||||||
|
personnes:
|
||||||
|
- Sphinx
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "lieu de depart"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
- Succes:
|
||||||
|
deposable: false
|
||||||
|
depart: false
|
||||||
|
fin: true
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "lieu succes"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
- Echec:
|
||||||
|
deposable: false
|
||||||
|
depart: false
|
||||||
|
fin: true
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "lieu echec"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
Chemins:
|
||||||
|
- Win:
|
||||||
|
lieu_in: Enigme
|
||||||
|
lieu_out: Succes
|
||||||
|
ouvert: true
|
||||||
|
visible: Reussite
|
||||||
|
obligatoire: false
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "Le chemin de la victoire !"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
- Loose:
|
||||||
|
lieu_in: Enigme
|
||||||
|
lieu_out: Echec
|
||||||
|
ouvert: true
|
||||||
|
visible: tentative == 0
|
||||||
|
obligatoire: false
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "Le chemin de la loose !"
|
||||||
|
condition: true
|
|
@ -45,4 +45,19 @@ public class Chemin {
|
||||||
}
|
}
|
||||||
return "No desc";
|
return "No desc";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Lieu emprunter() {
|
||||||
|
for (Objet o : this.objetsRecus) {
|
||||||
|
Jeu.explorateur.objets.add(o);
|
||||||
|
}
|
||||||
|
for (Objet o : this.objetsConso) {
|
||||||
|
Jeu.explorateur.objets.remove(o);
|
||||||
|
}
|
||||||
|
for (Connaissance c : this.connaissancesRecus) {
|
||||||
|
if (!Jeu.explorateur.connaissances.contains(c)) {
|
||||||
|
Jeu.explorateur.connaissances.add(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.lieuOut;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,16 +16,7 @@ public class Explorateur {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
String txt = "Objets :\n";
|
return "\tObjets : " + this.objets + "\n\tConnaissances : " + this.connaissances;
|
||||||
for (Objet c : this.objets) {
|
|
||||||
txt += c + " ";
|
|
||||||
}
|
|
||||||
txt += "\n\nConnaissances :\n";
|
|
||||||
for (Connaissance c : this.connaissances) {
|
|
||||||
txt += c + " ";
|
|
||||||
}
|
|
||||||
txt += "\n===================================================";
|
|
||||||
return txt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,20 @@ public class Interaction {
|
||||||
}
|
}
|
||||||
|
|
||||||
void interragir(BufferedReader reader, Lieu lieu) {
|
void interragir(BufferedReader reader, Lieu lieu) {
|
||||||
boolean arreter_interraction = false;
|
|
||||||
|
|
||||||
while (!arreter_interraction) {
|
for (Objet o : this.objetsRecus) {
|
||||||
|
Jeu.explorateur.objets.add(o);
|
||||||
|
}
|
||||||
|
for (Objet o : this.objetsConso) {
|
||||||
|
Jeu.explorateur.objets.remove(o);
|
||||||
|
}
|
||||||
|
for (Connaissance c : this.connaissances) {
|
||||||
|
if (!Jeu.explorateur.connaissances.contains(c)) {
|
||||||
|
Jeu.explorateur.connaissances.add(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
while (true) {
|
||||||
System.out.println(this);
|
System.out.println(this);
|
||||||
System.out.print("\nChoix : ");
|
System.out.print("\nChoix : ");
|
||||||
|
|
||||||
|
@ -37,21 +48,20 @@ public class Interaction {
|
||||||
actions_choix.add(a);
|
actions_choix.add(a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int choix = 0;
|
int choix = 0;
|
||||||
Action a = null;
|
Action a = null;
|
||||||
try {
|
try {
|
||||||
choix = Integer.parseInt(reader.readLine());
|
choix = Integer.parseInt(reader.readLine());
|
||||||
a = actions_choix.get(choix);
|
a = actions_choix.get(choix);
|
||||||
} catch (NumberFormatException e) {
|
} catch (Exception e) {
|
||||||
continue;
|
continue;
|
||||||
} catch (IndexOutOfBoundsException e) {
|
|
||||||
continue;
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a.actionner();
|
a.actionner();
|
||||||
|
|
||||||
arreter_interraction = a.finInterraction.evaluer();
|
if (a.finInterraction.evaluer())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,9 @@ public class Jeu {
|
||||||
List<Personne> personnes;
|
List<Personne> personnes;
|
||||||
List<Transformation> transformations;
|
List<Transformation> transformations;
|
||||||
|
|
||||||
|
Lieu lieu = null;
|
||||||
|
Personne personne = null;
|
||||||
|
|
||||||
public Jeu(
|
public Jeu(
|
||||||
Territoire territoire,
|
Territoire territoire,
|
||||||
List<Objet> objets,
|
List<Objet> objets,
|
||||||
|
@ -33,7 +36,7 @@ public class Jeu {
|
||||||
void jouer() {
|
void jouer() {
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
|
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
|
||||||
|
|
||||||
Lieu lieu = null;
|
// on cherche le (premier) lieu de départ
|
||||||
for (Lieu l : territoire.lieux) {
|
for (Lieu l : territoire.lieux) {
|
||||||
if (l.depart.evaluer()) {
|
if (l.depart.evaluer()) {
|
||||||
lieu = l;
|
lieu = l;
|
||||||
|
@ -41,38 +44,32 @@ public class Jeu {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!lieu.fin.evaluer()) {
|
// tant qu'on est pas sur un lieu de fin
|
||||||
boolean recommencer = false;
|
mainloop: while (!lieu.fin.evaluer()) {
|
||||||
|
|
||||||
clearScreen();
|
clearScreen();
|
||||||
System.out.println("Lieu : " + lieu + "\n");
|
System.out.println("Lieu actuel: " + lieu + "\n");
|
||||||
System.out.println(Jeu.explorateur);
|
System.out.println("Explorateur:\n" + Jeu.explorateur + "\n");
|
||||||
|
System.out.println("-".repeat(50));
|
||||||
|
|
||||||
for (Personne p : lieu.personnes) {
|
for (Personne p : lieu.personnes) {
|
||||||
if (p.visible.evaluer() && p.obligatoire.evaluer()) {
|
if (p.visible.evaluer() && p.obligatoire.evaluer() || p == personne) {
|
||||||
System.out.println(p + " :");
|
System.out.println(p + " :");
|
||||||
|
|
||||||
p.interragir(reader, lieu);
|
p.interragir(reader, lieu);
|
||||||
recommencer = true;
|
personne = null;
|
||||||
break;
|
continue mainloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (recommencer) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Chemin c : territoire.chemins) {
|
for (Chemin c : territoire.chemins) {
|
||||||
if (c.lieuIn == lieu) {
|
if (c.lieuIn == lieu) {
|
||||||
if (c.visible.evaluer() && c.obligatoire.evaluer() && c.ouvert.evaluer()) {
|
if (c.visible.evaluer() && c.obligatoire.evaluer() && c.ouvert.evaluer()) {
|
||||||
lieu = c.lieuOut;
|
lieu = c.lieuOut;
|
||||||
recommencer = true;
|
continue mainloop;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (recommencer) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
int k = 0;
|
int k = 0;
|
||||||
List<Chemin> chemins_choix = new ArrayList<>();
|
List<Chemin> chemins_choix = new ArrayList<>();
|
||||||
|
@ -101,24 +98,14 @@ public class Jeu {
|
||||||
try {
|
try {
|
||||||
System.out.print("\nChoix : ");
|
System.out.print("\nChoix : ");
|
||||||
choix = Integer.parseInt(reader.readLine());
|
choix = Integer.parseInt(reader.readLine());
|
||||||
|
|
||||||
if (choix < chemins_choix.size()) {
|
if (choix < chemins_choix.size()) {
|
||||||
lieu = chemins_choix.get(choix).lieuOut;
|
lieu = chemins_choix.get(choix).emprunter();
|
||||||
} else {
|
} else {
|
||||||
Personne p = personnes_choix.get(choix - chemins_choix.size());
|
personne = personnes_choix.get(choix - chemins_choix.size());
|
||||||
|
|
||||||
clearScreen();
|
|
||||||
System.out.println("Lieu : " + lieu + "\n");
|
|
||||||
System.out.println(Jeu.explorateur);
|
|
||||||
System.out.println(p + " :");
|
|
||||||
|
|
||||||
p.interragir(reader, lieu);
|
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (Exception e) {
|
||||||
continue;
|
continue;
|
||||||
} catch (IndexOutOfBoundsException e) {
|
|
||||||
continue;
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,11 +19,13 @@ public class Objet {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
String str = null;
|
||||||
for (Description d : this.descriptions) {
|
for (Description d : this.descriptions) {
|
||||||
if (d.condition.evaluer()) {
|
if (d.condition.evaluer()) {
|
||||||
return "(" + this.nom + ": " + d + ")";
|
str = this.nom + "(" + d + ")";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "(" + this.nom + ")";
|
return str;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ public class Prototype {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
// "Objets"
|
// "Objets"
|
||||||
|
|
||||||
List<Objet> jeu_objets = new ArrayList<>();
|
List<Objet> jeu_objets = new ArrayList<>();
|
||||||
|
|
||||||
List<Description> objet_tentative_descriptions = new ArrayList<>();
|
List<Description> objet_tentative_descriptions = new ArrayList<>();
|
||||||
|
@ -52,6 +53,7 @@ List<Objet> jeu_objets = new ArrayList<>();
|
||||||
jeu_objets.add(objet_tentative);
|
jeu_objets.add(objet_tentative);
|
||||||
|
|
||||||
// "Connaissances"
|
// "Connaissances"
|
||||||
|
|
||||||
List<Connaissance> jeu_connaissances = new ArrayList<>();
|
List<Connaissance> jeu_connaissances = new ArrayList<>();
|
||||||
|
|
||||||
List<Description> connaissance_Reussite_descriptions = new ArrayList<>();
|
List<Description> connaissance_Reussite_descriptions = new ArrayList<>();
|
||||||
|
@ -95,6 +97,7 @@ List<Connaissance> jeu_connaissances = new ArrayList<>();
|
||||||
jeu_connaissances.add(connaissance_Reussite);
|
jeu_connaissances.add(connaissance_Reussite);
|
||||||
|
|
||||||
// "Transformations"
|
// "Transformations"
|
||||||
|
|
||||||
List<Transformation> jeu_transformations = new ArrayList<>();
|
List<Transformation> jeu_transformations = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
@ -144,7 +147,7 @@ List<Personne> jeu_personnes = new ArrayList<>();
|
||||||
List<ConditionTest> personne_obligatoire_Sphinx_1_conditions_TEST_list = new ArrayList<>();
|
List<ConditionTest> personne_obligatoire_Sphinx_1_conditions_TEST_list = new ArrayList<>();
|
||||||
|
|
||||||
personne_obligatoire_Sphinx_1_conditions_TEST_list.add(
|
personne_obligatoire_Sphinx_1_conditions_TEST_list.add(
|
||||||
new ConditionBoolean(true)
|
new ConditionBoolean(false)
|
||||||
);
|
);
|
||||||
personne_obligatoire_Sphinx_1_conditions_ET_list.add(
|
personne_obligatoire_Sphinx_1_conditions_ET_list.add(
|
||||||
new ConditionEt(personne_obligatoire_Sphinx_1_conditions_TEST_list)
|
new ConditionEt(personne_obligatoire_Sphinx_1_conditions_TEST_list)
|
||||||
|
@ -582,7 +585,7 @@ List<Chemin> territoire_chemins = new ArrayList<>();
|
||||||
List<ConditionTest> chemin_obligatoire_Win_1_conditions_TEST_list = new ArrayList<>();
|
List<ConditionTest> chemin_obligatoire_Win_1_conditions_TEST_list = new ArrayList<>();
|
||||||
|
|
||||||
chemin_obligatoire_Win_1_conditions_TEST_list.add(
|
chemin_obligatoire_Win_1_conditions_TEST_list.add(
|
||||||
new ConditionBoolean(true)
|
new ConditionBoolean(false)
|
||||||
);
|
);
|
||||||
chemin_obligatoire_Win_1_conditions_ET_list.add(
|
chemin_obligatoire_Win_1_conditions_ET_list.add(
|
||||||
new ConditionEt(chemin_obligatoire_Win_1_conditions_TEST_list)
|
new ConditionEt(chemin_obligatoire_Win_1_conditions_TEST_list)
|
||||||
|
@ -662,7 +665,7 @@ List<Chemin> territoire_chemins = new ArrayList<>();
|
||||||
List<ConditionTest> chemin_obligatoire_Loose_2_conditions_TEST_list = new ArrayList<>();
|
List<ConditionTest> chemin_obligatoire_Loose_2_conditions_TEST_list = new ArrayList<>();
|
||||||
|
|
||||||
chemin_obligatoire_Loose_2_conditions_TEST_list.add(
|
chemin_obligatoire_Loose_2_conditions_TEST_list.add(
|
||||||
new ConditionBoolean(true)
|
new ConditionBoolean(false)
|
||||||
);
|
);
|
||||||
chemin_obligatoire_Loose_2_conditions_ET_list.add(
|
chemin_obligatoire_Loose_2_conditions_ET_list.add(
|
||||||
new ConditionEt(chemin_obligatoire_Loose_2_conditions_TEST_list)
|
new ConditionEt(chemin_obligatoire_Loose_2_conditions_TEST_list)
|
||||||
|
|
53
runtime-workspace/fr.n7.game.examples/test1.game
Normal file
53
runtime-workspace/fr.n7.game.examples/test1.game
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
Objets:
|
||||||
|
|
||||||
|
Transformations:
|
||||||
|
|
||||||
|
Connaissances:
|
||||||
|
|
||||||
|
Explorateur:
|
||||||
|
taille: 0
|
||||||
|
connaissances:
|
||||||
|
objets:
|
||||||
|
|
||||||
|
Personnes:
|
||||||
|
|
||||||
|
Territoire:
|
||||||
|
Lieux:
|
||||||
|
- preWarp:
|
||||||
|
deposable: true
|
||||||
|
depart: true
|
||||||
|
fin: false
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "preWarp description"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
- postWarp:
|
||||||
|
deposable: false
|
||||||
|
depart: false
|
||||||
|
fin: true
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "postWarp description"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
Chemins:
|
||||||
|
- Warp:
|
||||||
|
lieu_in: preWarp
|
||||||
|
lieu_out: postWarp
|
||||||
|
ouvert: true
|
||||||
|
visible: true
|
||||||
|
obligatoire: false
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "warp description"
|
||||||
|
condition: true
|
91
runtime-workspace/fr.n7.game.examples/test2.game
Normal file
91
runtime-workspace/fr.n7.game.examples/test2.game
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
Objets:
|
||||||
|
- warpToken:
|
||||||
|
taille: 1
|
||||||
|
visible: true
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "warpToken description"
|
||||||
|
condition: true
|
||||||
|
|
||||||
|
Transformations:
|
||||||
|
|
||||||
|
Connaissances:
|
||||||
|
|
||||||
|
Explorateur:
|
||||||
|
taille: 1
|
||||||
|
connaissances:
|
||||||
|
objets:
|
||||||
|
- warpToken
|
||||||
|
|
||||||
|
Personnes:
|
||||||
|
|
||||||
|
Territoire:
|
||||||
|
Lieux:
|
||||||
|
- preWarp:
|
||||||
|
deposable: false
|
||||||
|
depart: true
|
||||||
|
fin: false
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "preWarp description"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
- postWarp:
|
||||||
|
deposable: false
|
||||||
|
depart: false
|
||||||
|
fin: false
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "postWarp description"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
- END:
|
||||||
|
deposable: false
|
||||||
|
depart: false
|
||||||
|
fin: true
|
||||||
|
personnes:
|
||||||
|
descriptions:
|
||||||
|
- Description1:
|
||||||
|
texte: "END description"
|
||||||
|
condition: true
|
||||||
|
objets:
|
||||||
|
connaissances:
|
||||||
|
|
||||||
|
Chemins:
|
||||||
|
- Warp:
|
||||||
|
lieu_in: preWarp
|
||||||
|
lieu_out: postWarp
|
||||||
|
ouvert: true
|
||||||
|
visible: true
|
||||||
|
obligatoire: false
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
- warpToken
|
||||||
|
descriptions:
|
||||||
|
- DescriptionToken:
|
||||||
|
texte: "preWarp description (need token)"
|
||||||
|
condition: warpToken == 0
|
||||||
|
- DescriptionNoToken:
|
||||||
|
texte: "preWarp description (token acquired)"
|
||||||
|
condition: warpToken == 1
|
||||||
|
|
||||||
|
- EndChemin:
|
||||||
|
lieu_in: postWarp
|
||||||
|
lieu_out: END
|
||||||
|
ouvert: true
|
||||||
|
visible: true
|
||||||
|
obligatoire: false
|
||||||
|
connaissances:
|
||||||
|
objets_recus:
|
||||||
|
objets_conso:
|
||||||
|
descriptions:
|
||||||
|
- DescriptionToken:
|
||||||
|
texte: "END description"
|
||||||
|
condition: true
|
File diff suppressed because it is too large
Load diff
|
@ -81,7 +81,7 @@ List<Objet> explorateur_inventaire = new ArrayList<>();
|
||||||
[/for]
|
[/for]
|
||||||
|
|
||||||
List<Connaissance> explorateur_connaissances = new ArrayList<>();
|
List<Connaissance> explorateur_connaissances = new ArrayList<>();
|
||||||
[for (c : Objet | jeu.explorateur.connaissances)]
|
[for (c : Connaissance | jeu.explorateur.connaissances)]
|
||||||
explorateur_inventaire.add(connaissance_[c.name/]);
|
explorateur_inventaire.add(connaissance_[c.name/]);
|
||||||
[/for]
|
[/for]
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ List<Objet> explorateur_inventaire = new ArrayList<>();
|
||||||
[/for]
|
[/for]
|
||||||
|
|
||||||
List<Connaissance> explorateur_connaissances = new ArrayList<>();
|
List<Connaissance> explorateur_connaissances = new ArrayList<>();
|
||||||
[for (c : Objet | jeu.explorateur.connaissances)]
|
[for (c : Connaissance | jeu.explorateur.connaissances)]
|
||||||
explorateur_inventaire.add(connaissance_[c.name/]);
|
explorateur_inventaire.add(connaissance_[c.name/]);
|
||||||
[/for]
|
[/for]
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -4,6 +4,10 @@ package game
|
||||||
|
|
||||||
context Explorateur
|
context Explorateur
|
||||||
inv negativeQuantity: self.tailleInventaire >= 0
|
inv negativeQuantity: self.tailleInventaire >= 0
|
||||||
|
inv capaciteMax:
|
||||||
|
self.objets
|
||||||
|
->collect(o: Objet | o.taille)
|
||||||
|
->sum() <= self.tailleInventaire
|
||||||
|
|
||||||
context Objet
|
context Objet
|
||||||
inv negativeQuantity: self.taille >= 0
|
inv negativeQuantity: self.taille >= 0
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue