import random class Personnage : '''on défini les attribu''' def __init__ ( self, nom , cat ): self.nom = nom self.pdv = 20 self.exp = 1 self.cat = cat 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): """renvoie le jet d'attaque en prenant un nombre au hasard entre 1 et 20 #et en ajoutant l'experience du personnage multiplier par ça classe """ lanceA = random.randint(1,20) if self.cat =='guerrier' or self.cat =='magicien': return lanceA + self.exp* 10 elif self.cat =='voleur': return lanceA + self.exp * 3 elif self.cat =='elfe': return lanceA + self.exp * 8 #renvoie le jet de defence en prenant un nombre au hasard entre #1 et 20 et en ajoutant l'experience du personnage multiplier par #ça classe def jet_defense (self): lanceD = random.randint(1,20) if self.cat == 'guerrier': return lanceD + self.exp * 8 elif self.cat == 'magicien': return lanceD + self.exp * 7 elif self.cat == 'voleur': return lanceD + self.exp * 9 elif self.cat == 'elfe': return lanceD + self.exp * 10 #change le nombre de point de vie du personnage (nombre possitif #ou negatif) def change_pdv (self, nb_pdv): self.pdv = self.pdv + nb_pdv #change le nombre de point de vie du personnage (nombre possitif) def change_exp (self, nb_exp): self.exp = self.exp + nb_exp #affiche les caracteristique du personnage def affiche_caracteristique (self): print("je m'appelle",self.nom,"je suis un", self.cat ,"j'ai",self.pdv, "point de vie et j'ai", self.exp, "niveau d'experience") #affiche l'inventaire du personnage def affiche_inventaire (self): print(" dans mon inventaire j'ai", self.inventaire) def combat(perso1, perso2): attaque = perso1.jet_attaque() defence = perso2.jet_defence() if attaque > defence : lance = random.randint(1,8) defence = perso2.pdv - lance return print (" lors de cette attaque", perso1, "a perdu 0 pdv et" ,perso2, ",", defence, "pdv") else attaque < defence: lance = random.randint (1,4) attaque = perso1.pdv - lance return print (" lors de cette attaque", perso1, "a perdu", attaque,)