Browse Source

+ documentation

master
julien 4 weeks ago
parent
commit
89d3b08a18
  1. 28
      projet poo.py

28
projet poo.py

@ -2,6 +2,7 @@ from random import randint
class Personnage : class Personnage :
def __init__(self, nom, cat) : def __init__(self, nom, cat) :
"""initialisation des attributs de la classe Personnage"""
self.nom = nom self.nom = nom
self.cat = cat.lower() self.cat = cat.lower()
self.pv = 20 self.pv = 20
@ -16,6 +17,7 @@ class Personnage :
self.inv = ["arc","potion"] self.inv = ["arc","potion"]
def jet_attaque(self) : def jet_attaque(self) :
"""fonction permettant de faire un jet de dé d'attaque"""
resultat_de = randint(1, 20) resultat_de = randint(1, 20)
if self.cat == "guerrier" or self.cat == "magicien" : if self.cat == "guerrier" or self.cat == "magicien" :
return resultat_de+self.exp*10 return resultat_de+self.exp*10
@ -25,6 +27,7 @@ class Personnage :
return resultat_de+self.exp*8 return resultat_de+self.exp*8
def jet_defense(self) : def jet_defense(self) :
"""fonction permettant de faire un jet de dé de défense"""
resultat_de = randint(1,20) resultat_de = randint(1,20)
if self.cat == "guerrier" : if self.cat == "guerrier" :
return resultat_de+self.exp*8 return resultat_de+self.exp*8
@ -36,22 +39,27 @@ class Personnage :
return resultat_de+self.exp*10 return resultat_de+self.exp*10
def change_pv(self, nb_pv) : def change_pv(self, nb_pv) :
"""fonction permettant de changer les points de vie d'un personnage"""
self.pv += nb_pv self.pv += nb_pv
if self.pv < 0 : if self.pv < 0 :
self.pv = 0 self.pv = 0
def change_exp(self, nb_exp) : def change_exp(self, nb_exp) :
"""fonction permettant de changer l'expèrience d'un personnage"""
self.exp += nb_exp self.exp += nb_exp
def affiche_caracteristiques(self) : def affiche_caracteristiques(self) :
"""fonction permettant d'afficher les caractéristiques d'un personnage"""
print(f"{self.nom} le {self.cat} a actuellement {self.pv} PV et {self.exp} EXP") print(f"{self.nom} le {self.cat} a actuellement {self.pv} PV et {self.exp} EXP")
def affiche_inventaire(self) : def affiche_inventaire(self) :
"""fonction permettant d'afficher l'inventaire d'un personnage"""
print(f"Bonjour {self.nom}, voici ton inventaire :") print(f"Bonjour {self.nom}, voici ton inventaire :")
for i in range(len(self.inv)) : for i in range(len(self.inv)) :
print(f"- {self.inv[i]}") print(f"- {self.inv[i]}")
def combat() : def combat() :
"""fonction principale permettant de faire un combat entre 2 personnages"""
perso1 = Personnage(input("Comment s'appelle le premier joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) ")) perso1 = Personnage(input("Comment s'appelle le premier joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) "))
perso2 = Personnage(input("Comment s'appelle le second joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) ")) perso2 = Personnage(input("Comment s'appelle le second joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) "))
print() print()
@ -92,16 +100,16 @@ def combat() :
print() print()
perso2.affiche_caracteristiques() perso2.affiche_caracteristiques()
print() print()
if perso1.pv == 0 : if perso1.pv == 0 :
print("le combat est terminé") print("le combat est terminé")
print(f"{perso2.nom} a triomphé de {perso1.nom} et gagne 1 EXP") print(f"{perso2.nom} a triomphé de {perso1.nom} et gagne 1 EXP")
perso2.change_exp(1) perso2.change_exp(1)
elif perso2.pv == 0 : elif perso2.pv == 0 :
print("le combat est terminé") print("le combat est terminé")
print(f"{perso1.nom} a triomphé de {perso2.nom} et gagne 1 EXP") print(f"{perso1.nom} a triomphé de {perso2.nom} et gagne 1 EXP")
perso1.change_exp(1) perso1.change_exp(1)
else : else :
print("appuyer sur entrée pour continuer") print("appuyer sur entrée pour continuer")
input() input()
combat() combat()
Loading…
Cancel
Save