projet-genie-logiciel-systeme/runtime-workspace/fr.n7.game.examples/src-gen/Interaction.java

70 lines
1.9 KiB
Java
Raw Normal View History

2021-12-09 17:54:08 +00:00
import java.util.List;
import java.util.ArrayList;
import java.io.BufferedReader;
public class Interaction {
2022-01-18 18:49:37 +00:00
String nom;
2021-12-09 17:54:08 +00:00
Condition visible;
List<Connaissance> connaissances;
List<Objet> objetsRecus;
List<Objet> objetsConso;
List<Action> actions;
public Interaction(
2022-01-18 18:49:37 +00:00
String nom,
2021-12-09 17:54:08 +00:00
Condition visible,
List<Connaissance> connaissances,
List<Objet> objetsRecus,
List<Objet> objetsConso,
List<Action> actions) {
2022-01-18 18:49:37 +00:00
this.nom = nom;
2021-12-09 17:54:08 +00:00
this.visible = visible;
this.connaissances = connaissances;
this.objetsRecus = objetsRecus;
this.objetsConso = objetsConso;
this.actions = actions;
}
2022-01-18 22:29:53 +00:00
void interragir(BufferedReader reader) {
2021-12-09 17:54:08 +00:00
2022-01-16 17:14:57 +00:00
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) {
2022-01-18 22:29:53 +00:00
Jeu.clearScreen();
List<Action> interaction_choix = new ArrayList<>();
2021-12-09 17:54:08 +00:00
for (Action a : this.actions) {
if (a.visible.evaluer()) {
2022-01-18 22:29:53 +00:00
System.out.println("[" + interaction_choix.size() + "] " + a);
interaction_choix.add(a);
2021-12-09 17:54:08 +00:00
}
}
2022-01-18 22:29:53 +00:00
System.out.print("\nChoix : ");
2022-01-16 17:14:57 +00:00
2021-12-09 17:54:08 +00:00
int choix = 0;
Action a = null;
try {
choix = Integer.parseInt(reader.readLine());
2022-01-18 22:29:53 +00:00
a = interaction_choix.get(choix);
2022-01-16 17:14:57 +00:00
} catch (Exception e) {
2021-12-09 17:54:08 +00:00
continue;
}
2022-01-16 17:14:57 +00:00
2021-12-09 17:54:08 +00:00
a.actionner();
2022-01-16 17:14:57 +00:00
if (a.finInterraction.evaluer())
break;
2021-12-09 17:54:08 +00:00
}
}
}