from random import randint class Personnage: def __init__(self, nom, cat): """methode qui initialise les attributs""" self.nom = nom self.cat = cat self.pdv = 20 self.exp = 1 if self.cat == "guerrier": self.inventaire = ["sword, potion"] #retirer les # qui sont temporaire car non defini elif self.cat == "magicien": self.inventaire = ["stick, potion"] elif self.cat == "voleur": self.inventaire = ["dagger, potion"] elif self.cat == "elfe": self.inventaire = ["bow, potion"] def jet_attaque(self): """ Renvoie un jet dattaque qui est la somme d'un nombre aléatoire entre 1 et 20 a experience du joueur multiplier par coef""" de = randint(1,20) if self.cat == "guerrier" or self.cat == "magicien": coef = 10 elif self.cat == "voleur": coef = 3 else: coef = 8 return de+(self.exp*coef) def jet_defense(self): """ Renvoie un jet de defense qui est la somme d'un nombre aléatoire entre 1 et 20 a experience du joueur multiplier par coef""" de = randint(1,20) if self.cat == "guerrier": coef = 8 elif self.cat == "magicien": coef = 7 elif self.cat == "voleur": coef = 9 else: coef = 10 return de+(self.exp*coef) def change_pdv(self, nb_pdv): """ Change les point de vie du joueur en ajoutant la valeur positive ou negative au point de vie qu'il possede""" self.pdv += nb_pdv def change_exp(self, nb_exp): self.exp += nb_exp def affiche_caracteristique(self): print("-------------------------\n \n", f" Nom : {self.nom}\n", f" Catégorie : {self.cat}\n", f" Point de vie : {self.pdv}\n", f" Expérience : {self.exp}\n \n", "-------------------------\n") def affiche_inventaire(self): print("------------------------------------\n \n", f" Inventaire : {self.inventaire}\n \n", "-----------------------------------") xuan = Personnage("xuan", "guerrier") jojo = Personnage("Jojo", "voleur") def start(): attaquant = xuan.jet_attaque() defenseur = jojo.jet_defense() defense_attaquant = xuan.jet_defense() attaque_defenseur = jojo.jet_defense() while xuan.pdv > 0 or jojo.pdv > 0: if attaquant > defenseur: r = randint(1,8) jojo.pdv -= r else: r = randint(1,4) xuan.pdv -= r xuan.affiche_caracteristique() jojo.affiche_caracteristique()