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

69 lines
1.9 KiB
Java
Raw Normal View History

2021-12-09 17:54:08 +00:00
import java.util.List;
public class Chemin {
String nom;
2021-12-09 17:54:08 +00:00
Lieu lieuIn;
Lieu lieuOut;
Condition ouvert;
Condition visible;
Condition obligatoire;
List<Connaissance> connaissancesRecus;
List<Objet> objetsRecus;
List<Objet> objetsConso;
List<Description> descriptions;
public Chemin(
String nom,
2021-12-09 17:54:08 +00:00
Lieu lieuIn,
Lieu lieuOut,
Condition ouvert,
Condition visible,
Condition obligatoire,
List<Connaissance> connaissancesRecus,
List<Objet> objetsRecus,
List<Objet> objetsConso,
List<Description> descriptions) {
this.nom = nom;
2021-12-09 17:54:08 +00:00
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()) {
2022-01-18 18:49:37 +00:00
return this.nom + " (" + d + ")";
2021-12-09 17:54:08 +00:00
}
}
2022-01-18 18:49:37 +00:00
return "(no description)";
2021-12-09 17:54:08 +00:00
}
2022-01-16 17:14:57 +00:00
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;
}
2022-01-18 18:49:37 +00:00
public static Chemin search(List<Chemin> list, String name) {
return list.stream().filter(o -> o.nom.equals(name)).findFirst()
.orElseThrow(() -> new IllegalArgumentException("No data found"));
}
2021-12-09 17:54:08 +00:00
}