from random import randint class Personnage: def __init__(self, nom, cat): self.nom = nom self.pdv = 20 self.exp = 1 self.cat = cat self.inventaire = [] if self.cat == "guerrier": self.inventaire = ["épée", "potion"] elif self.cat == "magicien": self.inventaire = ["bâton", "potion"] elif self.cat == "voleur": self.inventaire = ["dague", "potion"] elif self.cat == "elfe": self.inventaire = ["arc", "potion"] def jet_attaque(self): lancer = randint(1, 20) if self.cat == "guerrier": degats = self.exp * 10 elif self.cat == "magicien": degats = self.exp * 10 elif self.cat == "voleur": degats = self.exp * 3 elif self.cat == "elfe": degats = self.exp * 8 return lancer + degats def jet_defense(self): lancer = randint(1, 20) if self.cat == "guerrier": protection = self.exp * 8 elif self.cat == "magicien": protection = self.exp * 7 elif self.cat == "voleur": protection = self.exp * 9 elif self.cat == "elfe": protection = self.exp * 10 return lancer + protection def change_pdv(self, nb_pdv): self.pdv = self.pdv + nb_pdv def change_exp(self, nb_exp): if nb_exp < 0: raise ValueError("le parametre doit etre positif") self.exp = self.exp + nb_exp def affiche_caracteristiques(self): print("vous vous appelez", self.nom, ", vous etes un", self.cat, ", vous avez", self.pdv, " points de vie et", self.exp, "points d'experience.") def affiche_inventaire(self): print(self.inventaire) mon_perso = Personnage("moi", "guerrier")