|
|
@ -4,7 +4,8 @@ class Personnage : |
|
|
def __init__(self, nom, cat) : |
|
|
def __init__(self, nom, cat) : |
|
|
"""initialisation des attributs de la classe Personnage""" |
|
|
"""initialisation des attributs de la classe Personnage""" |
|
|
self.nom = nom |
|
|
self.nom = nom |
|
|
self.cat = cat.lower() |
|
|
categories = ["guerrier", "magicien", "voleur", "elfe"] |
|
|
|
|
|
self.cat = categories[cat] |
|
|
self.pv = 20 |
|
|
self.pv = 20 |
|
|
self.exp = 1 |
|
|
self.exp = 1 |
|
|
if self.cat == "guerrier" : |
|
|
if self.cat == "guerrier" : |
|
|
@ -58,10 +59,19 @@ class Personnage : |
|
|
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 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() : |
|
|
def combat() : |
|
|
"""fonction principale permettant de faire un combat entre 2 personnages""" |
|
|
"""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 = creation_perso() |
|
|
perso2 = Personnage(input("Comment s'appelle le second joueur ? "), input("Quelle est sa catégorie ? (guerrier, magicien, voleur, elfe) ")) |
|
|
perso2 = creation_perso() |
|
|
print() |
|
|
print() |
|
|
|
|
|
|
|
|
while perso1.pv > 0 and perso2.pv > 0 : |
|
|
while perso1.pv > 0 and perso2.pv > 0 : |
|
|
@ -95,11 +105,14 @@ def combat() : |
|
|
perso2.change_pv(perte_pv) |
|
|
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(f"{perso1.nom} se défend parfaitement et inflige même {abs(perte_pv)} dégâts de contre à {perso2.nom}") |
|
|
print() |
|
|
print() |
|
|
|
|
|
|
|
|
perso1.affiche_caracteristiques() |
|
|
perso1.affiche_caracteristiques() |
|
|
print() |
|
|
print() |
|
|
perso2.affiche_caracteristiques() |
|
|
perso2.affiche_caracteristiques() |
|
|
print() |
|
|
print() |
|
|
|
|
|
print("appuyer sur entrée pour continuer") |
|
|
|
|
|
input() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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") |
|
|
@ -108,8 +121,6 @@ def combat() : |
|
|
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 : |
|
|
|
|
|
print("appuyer sur entrée pour continuer") |
|
|
|
|
|
input() |
|
|
|
|
|
|
|
|
|
|
|
combat() |
|
|
combat() |