-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreature.py
54 lines (38 loc) · 1.39 KB
/
creature.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import random
class Creature():
"""Une créature du jeu
"""
def __init__(self, nom, position = None):
"""Construit une créature du jeu avec un nom donné et une position
Args:
nom (str): Le nom de la créature
position (Case, optional): La case sur laquelle la créature est positionnée. Defaults to None.
"""
self.nom = nom
self.position = position
def _get_nom(self):
return self._nom
def _set_nom(self,nom):
self._nom = nom
nom = property(_get_nom,_set_nom)
def _get_position(self):
return self._position
def _set_position(self,position):
self._position = position
position = property(_get_position,_set_position)
def __str__(self):
return str(self.nom,self.position)
def choisirCible(self, jeu):
"""Retourne une case parmis les cases adjacentes de la créature. Si une case adjacente est
occupée, elle la retourne. Sinon elle retourne aléatoirement parmis celles aléatoires.
Args:
jeu (Jeu): L'instance du jeu auquel appartient la créature
Returns:
Case: La case cible que doit viser la créature
"""
for case in self.position.adjacentes(jeu):
if jeu.estOccupee(case):
return case
return random.choice(self.position.adjacentes(jeu))
## coucou marie
## Code a fond et je ne te unfollow