Commit e5c3248e authored by LucasDANIELE's avatar LucasDANIELE
Browse files

Merge branch 'master' of gitlab.insa-rouen.fr:ldaniele/itiadventure

parents d8d48f6c bccea4f0
......@@ -15,11 +15,33 @@ import fr.insarouen.asi.prog.asiaventure.elements.Etat;
import java.util.*;
import java.util.stream.Collectors;
/**
* Classe héritant de Vivant définissant un Monstre possèdant 6 attributs :
* nom : le nom de notre Monstre ;
* monde : le monde dans lequel se trouve notre Monstre ;
* pointVie : le nombre de point de vie
* pointForce : le nombre de point de force
* piece : la Piece où le Monstre se trouve
* objets : le dictionnaire des Objets que le Monstre possède, en clé leur nom et en valeur l'Objet
*/
public class Monstre extends Vivant {
/**
* Constructeur de Montre
* @param nom nom du monstre
* @param monde monde du monstre
* @param pointVie point de vie du monstre
* @param pointForce point de force du monstre
* @param piece piece dans laquelle se situe le monstre
* @param objets inventaire du monstre
* @throws NomDEntiteDejaUtiliseDansLeMondeException Declenchee lorsqu'un autre monstre du meme nom est deja present dans le monde
*/
public Monstre(String nom, Monde monde, int pointVie, int pointForce, Piece piece, Objet... objets) throws NomDEntiteDejaUtiliseDansLeMondeException{
super(nom, monde, pointVie, pointForce, piece, objets);
}
/**
* changerPiece permet de changer la piece en passant par une porte ouverte parmi les portes entourant la piece
*/
private void changerPiece(){
List<Porte> portesOuvrables = getPiece().getPortes().stream().filter(p -> ( (p.getEtat() == Etat.OUVERT) || (p.getEtat() == Etat.FERME) ) ).collect(Collectors.toList());
Collections.shuffle(portesOuvrables);
......@@ -57,6 +79,9 @@ public class Monstre extends Vivant {
}
/**
* echangerObjets echange les objets entre la piece et le monstre où il se trouve
*/
private void echangerObjets(){
List<Objet> objetsPiece = getPiece().getObjets().stream().filter(Objet::estDeplacable).collect(Collectors.toList());
List<Objet> objetsMonstre = getObjets().stream().collect(Collectors.toList());
......@@ -82,7 +107,9 @@ public class Monstre extends Vivant {
objetsMonstre.remove(objetsMonstre.get(i));
}
}
/**
* executer execute l'action voulu
*/
public void executer(){
if(getPointVie() > 0){
changerPiece();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment