You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.3 KiB
67 lines
2.3 KiB
10 months ago
|
|
||
|
class Lieu:
|
||
|
|
||
|
def __init__(self, nom, dsc, img=None) -> None:
|
||
|
self.nom = nom
|
||
|
self.dsc = dsc
|
||
|
self.image = None
|
||
|
self.nord = None
|
||
|
self.sud = None
|
||
|
self.est = None
|
||
|
self.ouest = None
|
||
|
self.occupant = None
|
||
|
self.objets = []
|
||
|
self.action_supp = None
|
||
|
|
||
|
|
||
|
def decrire_lieu(self):
|
||
|
"""Renvoie une description de la salle et le monstre éventuellement présent
|
||
|
|
||
|
:: param self(Lieu) :: une instance de Lieu
|
||
|
:: return (str) :: un string contenant la description globale
|
||
|
|
||
|
"""
|
||
|
reponse = self.dsc
|
||
|
|
||
|
if self.occupant: # cela veut dire si self.occupant existe (n'est pas 0, vide ou None)
|
||
|
reponse = reponse + f" \nLa salle contient également un(e) {self.occupant.nom} : {self.occupant.get_description()}"
|
||
|
return reponse
|
||
|
def decrire_actions_possibles(self:'Lieu') -> str:
|
||
|
"""Renvoie un string de toutes les actions possibles"""
|
||
|
actions_possibles = ""
|
||
|
if self.occupant:
|
||
|
actions_possibles =+ "C : Combattre"
|
||
|
actions_possibles =+ "F : Fuire"
|
||
|
if self.objets:
|
||
|
actions_possibles =+ "R : Ramasser"
|
||
|
if self.nord:
|
||
|
actions_possibles =+ "Z : Porte Nord"
|
||
|
if self.sud:
|
||
|
actions_possibles =+ "S : Porte Sud"
|
||
|
if self.ouest:
|
||
|
actions_possibles =+ "D : Porte Ouest"
|
||
|
if self.est:
|
||
|
actions_possibles =+ "Q : Porte Est"
|
||
|
if self.objet:
|
||
|
actions_possibles =+ "U : utiliser objet"
|
||
|
|
||
|
def set_occupant(self:'Lieu', occupant:'None|Monstre|Personnage') -> bool:
|
||
|
'''Cette méthode permet de mettre en place un occupant dasn un lieu'''
|
||
|
if not self.occupant or occupant.est_hs():
|
||
|
self.occupant = occupant
|
||
|
|
||
|
def ouvrir(self:'Personnage', lieu:'Lieu'):
|
||
|
'''permet de verifier si on a un objet dans l'inventaire pour ouvrir'''
|
||
|
if self.objet == 'clé cadena':
|
||
|
lieu.nord =
|
||
|
entree.nord = couloire_sud
|
||
|
couloire_sud.sud = entree
|
||
|
if self.objet == "Croc d'Hydra":
|
||
|
picine.est = cuisine.ouest
|
||
|
if self.objet == 'Boutielle de vodka':
|
||
|
salle_NSI.ouest = salle_arcade.est
|
||
|
|
||
|
|
||
|
|
||
|
|