- class Personnage(object): # KG faut-il mettre les () ? Chap.6-page7
- """
- Attributes:
- energie_depart_defaut (int): L'énergie de départ par défaut
- energie_depart_min (int): L'énergie de départ minimum
- energie_max (int): L'énergie maximum en tout temps
- longueur_nom_min (int) : La longueur minimale du nom
- longueur_nom_max (int) : La longueur maximale du nom
- nom (str) : Le nom
- energie_depart (int): L'énergie de départ
- energie_courante (int): L'énergie courante
- """
- personnage = Personnage()
- personnage.energie_depart_defaut = int(20) # déclaration d'un attribut
- personnage.energie_depart_min = int(1) # déclaration d'un attribut
- personnage.energie_max = int(100) # déclaration d'un attribut
- personnage.longueur_nom_min = int(3) # déclaration d'un attribut
- personnage.longueur_nom_max = int(30) # déclaration d'un attribut
- personnage.nom = str("") # déclaration d'un attribut
- personnage.energie_depart = int(0) # déclaration d'un attribut
- personnage.energie_courante = int(0) # déclaration d'un attribut
- # Constructeur
- def __init__(self, nom, energie_depart):
- """
- Le constructeur du Personnage. Il doit initialiser le nom, l’énergie de départ et l’énergie courante.
- À la création d’un objet personnage, l’énergie courante égale à l’énergie de départ.
- Args:
- nom (str): Le nom du personnage
- energie_depart (int): L'énergie de départ
- """
- self.nom = nom
- self.energie_depart = energie_depart # à valider si met 20
- self.energie_courante = energie_depart # à valider si met 20
- def crier(self): # passer
- """
- Méthode abstraite (sans code) utile pour l’héritage, cela forcera la classe dérivée à surcharger
- la méthode (polymorphisme).
- """
- def attaquer(self, force_attaque): # passer
- """
- Méthode abstraite (sans code) utile pour l’héritage, cela forcera la classe dérivée à surcharger
- la méthode (polymorphisme).
- """
- def est_mort(self): # Sandra
- """
- Retourne vrai lorsque l’énergie du personnage est à 0.
- Returns (bool): True si le personnage est mort, False sinon.
- """
- if self.energie_courante == 0:
- return True
- else:
- return False
- def valider_nom(self, nom):
- """
- Valide le nom du personnage. Un nom de personnage est valide lorsqu’il a la bonne longueur
- (entre min et max) bornes incluses.
- Args:
- nom (str): Le nom à valider
- Returns (bool): True si le nom est valide, False sinon.
- """
- if 3 >= len(self.nom) <= 30 :
- return True
- else:
- return False
- def valider_energie_courante(self, energie_courante):
- """
- Valide l'énergie courante. Elle doit être positive (0 inclus) et ne doit pas dépasser energie_max.
- Args:
- energie_courante (int): L'énergie à valider.
- Returns (bool): True si l'énergie est valide, False sinon.
- """
- if 0 >= self.energie_courante <= 100:
- return True
- else:
- return False
- def valider_energie_depart(self, energie_depart):
- """
- Valide l'énergie de départ. Elle est valide lorsqu’elle est entre energie_depart_min et
- energie_max. (bornes incluses).
- Args:
- energie_depart (int): L'énergie de départ
- Returns (bool): True si l'énergie de départ est valide, False sinon.
- """
- # l'énergie de départ va être en paramètre
- if 1 >= self.energie_depart <= 100:
- return True
- else:
- return False
- def reset_energie(self): # valider
- """
- Remet l’énergie courante du personnage à sa valeur de départ.
- """
- self.energie_courante = self.energie_depart_defaut
- def get_energie_courante(self):
- """
- Retourne l'énergie courante
- Returns (int): L'énergie courante
- """
- return self.energie_courante
- def set_energie_courante(self, energie_courante):
- """
- Assigne l'énergie courante si elle est valide.
- Args:
- energie_courante (int): L'énergie courante
- Returns (bool): True si l'assignation a réussi, False sinon.
- """
- if self.valider_energie_courante == True: # vraiment pas évident energie comprise entre 0 et 100
- self.energie_courante=energie_courante
- return True
- else:
- return False
- def get_nom(self):
- """
- Retourne le nom.
- Returns (str): Le nom.
- """
- return self.nom
- def set_nom(self, nom):
- """
- Assigne le nom s'il est valide.
- Args:
- nom (str): Le nom
- Returns (bool): True si l'assignation a réussi, False sinon.
- """
- if self.valider_nom == True: # vraiment pas évident energie comprise entre 3 et 30
- self.nom = nom
- return True
- else:
- return False
- def get_energie_depart(self):
- """
- Retourne l'énergie de départ.
- Returns (int): L'énergie de départ
- """
- return self.energie_depart
- def set_energie_depart(self, energie_depart):
- """
- Assigne l'énergie de départ si elle est valide.
- Args:
- energie_depart (int): L'énergie de départ
- Returns (bool): True si l'assignation a réussi, False sinon.
- """
- if self.valider_energie_depart == True: # vraiment pas évident energie comprise entre 3 et 30
- self.energie_depart = energie_depart
- return True
- else:
- return False
- # compléter la méthode manquante
- def to_string(self):
- """
- Retourne une chaîne du genre : "Le personnage nom de Personnage, a une énergie de valeur de
- l’énergie."
- Returns (str): La chaîne représentant le guerrier.
- """
- # valider le nom
- return ("Le personnage {0}, a une énergie de {1}".format(self.nom, self.energie_courante))
[text] Guerrier
Viewer
*** This page was generated with the meta tag "noindex, nofollow". This happened because you selected this option before saving or the system detected it as spam. This means that this page will never get into the search engines and the search bot will not crawl it. There is nothing to worry about, you can still share it with anyone.
Editor
You can edit this paste and save as new: