Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Daniele Lucas
ItiAdventure
Commits
bccea4f0
Commit
bccea4f0
authored
Mar 29, 2021
by
Aroubate Hamza
Browse files
TP6
parent
a49d3c4d
Changes
1
Hide whitespace changes
Inline
Side-by-side
ITIAdventure/src/fr/insarouen/asi/prog/asiaventure/elements/vivants/Monstre.java
View file @
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
());
for
(
Objet
o
:
objetsPiece
)
...
...
@@ -83,7 +108,9 @@ public class Monstre extends Vivant {
System
.
out
.
println
(
e
);
}
}
/**
* executer execute l'action voulu
*/
public
void
executer
(){
System
.
out
.
println
(
"debut"
);
if
(
getPointVie
()
>
0
){
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment