feat: ajout des transformations en java

This commit is contained in:
Laurent Fainsin 2022-01-19 10:44:51 +01:00
parent 97dd01d59f
commit b5a2ce68a1
10 changed files with 1990 additions and 1741 deletions

View file

@ -45,7 +45,7 @@ Personnes:
objets_conso:
descriptions:
- Description1:
texte: "la bonne reponse"
texte: "VSCode est le meilleur IDE de la terre"
condition: true
- Reponse_2:
@ -57,7 +57,7 @@ Personnes:
- tentative
descriptions:
- Description1:
texte: "la mauvaise reponse"
texte: "Eclipse est le meilleur IDE de la terre"
condition: true
Territoire:

View file

@ -85,6 +85,13 @@ public class Jeu {
}
}
for (Transformation t : transformations.values()) {
if (t.possible()) {
System.out.println("[" + choix.size() + "] " + t);
choix.add(t);
}
}
try {
System.out.print("\nChoix : ");
selection = Integer.parseInt(reader.readLine());
@ -96,6 +103,8 @@ public class Jeu {
lieu = ((Chemin) choix_selection).emprunter();
} else if (choix_selection instanceof Personne) {
((Personne) choix_selection).interragir(reader);
} else if (choix_selection instanceof Transformation) {
((Transformation) choix_selection).transformer(reader);
} else {
throw new UnsupportedOperationException();
}

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,4 @@
import java.io.BufferedReader;
import java.util.List;
public class Transformation {
@ -16,4 +17,24 @@ public class Transformation {
this.objetsSources = objetsSources;
this.objetsResultats = objetsResultats;
}
public void transformer(BufferedReader reader) {
Jeu.clearScreen();
for (Objet objet : objetsResultats) {
Jeu.explorateur.objets.add(objet);
}
for (Objet objet : objetsSources) {
Jeu.explorateur.objets.remove(objet);
}
}
@Override
public String toString() {
return "Transformation " + this.nom;
}
public boolean possible() {
return this.possible.evaluer() && Jeu.explorateur.objets.containsAll(this.objetsSources);
}
}

View file

@ -24,6 +24,12 @@ Objets:
condition: true
Transformations:
- TestTransfo:
condition: true
objets_in:
- warpReceipt
objets_out:
- warpTicket
Connaissances:

View file

@ -34,7 +34,7 @@ Map<String, Connaissance> jeu_connaissances = Map.ofEntries(
[for (c : Connaissance | jeu.connaissances)]
entry(
"[c.name/]",
new Objet(
new Connaissance(
"[c.name/]",
[print_condition(c.visible)/],
[print_descriptions(c.descriptions)/]

View file

@ -34,7 +34,7 @@ Map<String, Connaissance> jeu_connaissances = Map.ofEntries(
[for (c : Connaissance | jeu.connaissances)]
entry(
"[c.name/]",
new Objet(
new Connaissance(
"[c.name/]",
[print_condition(c.visible)/],
[print_descriptions(c.descriptions)/]