BABATURCK
10 months ago
5 changed files with 219 additions and 51 deletions
@ -0,0 +1,66 @@
|
||||
|
||||
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 |
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
from personnage import * |
||||
from monstre import * |
||||
|
||||
if __name__ == '__main__': |
||||
Alice = Personnage("Alice") |
||||
Monstre = Monstre("Gobelin", "") |
||||
Alice.combattre(Monstre) |
||||
cmd =input() |
||||
print(Alice.nom) |
||||
|
||||
print(cmd) |
@ -0,0 +1,46 @@
|
||||
from personnage import * |
||||
from monstre import * |
||||
from Lieu import * |
||||
class Manoir: |
||||
|
||||
def __init__(self): |
||||
self.heros = None |
||||
self.depart = None |
||||
self.lieux = [] |
||||
self.monstres = [] |
||||
|
||||
|
||||
def peupler_manoir(): |
||||
# Création du personnage du joueur |
||||
aventurier = Personnage("Alice") |
||||
|
||||
# Création et agencement des lieux |
||||
des = """Vous êtes devant l'entrée qui mène au nord. Une solide porte en bois est entreouverte""" |
||||
exterieur = Lieu("Entrée", des, "manoir.jpg") |
||||
|
||||
des = "Vous êtes dans le hall d'entrée du manoir." |
||||
hall = Lieu("Hall", des, "hall.jpeg") |
||||
|
||||
exterieur.nord = hall |
||||
hall.sud = exterieur |
||||
|
||||
# Création et positionnement d'un monstre |
||||
squelette_1 = Monstre("Squelette", "Un squelette semblant bouger seul et muni d'une épée.", "squelette.png") |
||||
hall.set_occupant(squelette_1) |
||||
|
||||
# Affectation d'un lieu de départ à l'aventurier |
||||
aventurier.lieu = exterieur |
||||
|
||||
# Création du manoir |
||||
manoir = Manoir() |
||||
manoir.heros = aventurier |
||||
manoir.depart = aventurier.lieu |
||||
manoir.lieux.append(exterieur) |
||||
manoir.lieux.append(hall) |
||||
manoir.monstres.append(squelette_1) |
||||
|
||||
return manoir |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
m = peupler_manoir() |
Loading…
Reference in new issue