Browse Source

+ création_perso()

master
julien 3 weeks ago
parent
commit
b9419e2456
  1. 25
      projet poo.py

25
projet poo.py

@ -4,7 +4,8 @@ class Personnage :
def __init__(self, nom, cat) :
"""initialisation des attributs de la classe Personnage"""
self.nom = nom
self.cat = cat.lower()
categories = ["guerrier", "magicien", "voleur", "elfe"]
self.cat = categories[cat]
self.pv = 20
self.exp = 1
if self.cat == "guerrier" :
@ -58,10 +59,19 @@ class Personnage :
for i in range(len(self.inv)) :
print(f"- {self.inv[i]}")
def creation_perso() :
"""création d'un personnage"""
pseudo = input("Comment s'appelle votre personnage ? ")
categorie = int(input("De quel catégorie est votre personnage ? (1 pour guerrier, 2 pour magicien, 3 pour voleur, 4 pour elfe) "))
while not(1 <= categorie <= 4) :
categorie = int(input("De quel catégorie est votre personnage ? (1 pour guerrier, 2 pour magicien, 3 pour voleur, 4 pour elfe) "))
return Personnage(pseudo, categorie)
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) "))
perso2 = Personnage(input("Comment s'appelle le second joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) "))
perso1 = creation_perso()
perso2 = creation_perso()
print()
while perso1.pv > 0 and perso2.pv > 0 :
@ -95,11 +105,14 @@ def combat() :
perso2.change_pv(perte_pv)
print(f"{perso1.nom} se défend parfaitement et inflige même {abs(perte_pv)} dégâts de contre à {perso2.nom}")
print()
perso1.affiche_caracteristiques()
print()
perso2.affiche_caracteristiques()
print()
print("appuyer sur entrée pour continuer")
input()
if perso1.pv == 0 :
print("le combat est terminé")
print(f"{perso2.nom} a triomphé de {perso1.nom} et gagne 1 EXP")
@ -108,8 +121,6 @@ def combat() :
print("le combat est terminé")
print(f"{perso1.nom} a triomphé de {perso2.nom} et gagne 1 EXP")
perso1.change_exp(1)
else :
print("appuyer sur entrée pour continuer")
input()
combat()
Loading…
Cancel
Save