Commit bccea4f0 authored by Aroubate Hamza's avatar Aroubate Hamza
Browse files

TP6

parent a49d3c4d
...@@ -15,11 +15,33 @@ import fr.insarouen.asi.prog.asiaventure.elements.Etat; ...@@ -15,11 +15,33 @@ import fr.insarouen.asi.prog.asiaventure.elements.Etat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; 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 { 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{ public Monstre(String nom, Monde monde, int pointVie, int pointForce, Piece piece, Objet... objets) throws NomDEntiteDejaUtiliseDansLeMondeException{
super(nom, monde, pointVie, pointForce, piece, objets); 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(){ private void changerPiece(){
List<Porte> portesOuvrables = getPiece().getPortes().stream().filter(p -> ( (p.getEtat() == Etat.OUVERT) || (p.getEtat() == Etat.FERME) ) ).collect(Collectors.toList()); List<Porte> portesOuvrables = getPiece().getPortes().stream().filter(p -> ( (p.getEtat() == Etat.OUVERT) || (p.getEtat() == Etat.FERME) ) ).collect(Collectors.toList());
Collections.shuffle(portesOuvrables); Collections.shuffle(portesOuvrables);
...@@ -57,6 +79,9 @@ public class Monstre extends Vivant { ...@@ -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(){ private void echangerObjets(){
List<Objet> objetsPiece = getPiece().getObjets().stream().filter(Objet::estDeplacable).collect(Collectors.toList()); List<Objet> objetsPiece = getPiece().getObjets().stream().filter(Objet::estDeplacable).collect(Collectors.toList());
for(Objet o : objetsPiece) for(Objet o : objetsPiece)
...@@ -83,7 +108,9 @@ public class Monstre extends Vivant { ...@@ -83,7 +108,9 @@ public class Monstre extends Vivant {
System.out.println(e); System.out.println(e);
} }
} }
/**
* executer execute l'action voulu
*/
public void executer(){ public void executer(){
System.out.println("debut"); System.out.println("debut");
if(getPointVie() > 0){ if(getPointVie() > 0){
......
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