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 def jet_defense (self): """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""" 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 def change_pdv (self, nb_pdv): '''change le nombre de point de vie du personnage (nombre possitif ou negatif)''' self.pdv = self.pdv + nb_pdv def change_exp (self, nb_exp): '''change le nombre de point de vie du personnage (nombre possitif)''' self.exp = self.exp + nb_exp def affiche_caracteristique (self): '''affiche les caracteristique du personnage ''' 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") def affiche_inventaire (self): '''affiche l'inventaire du personnage''' print(" dans mon inventaire j'ai", self.inventaire) def tour(perso1, perso2): '''fait un tour entre perso1 et 2 avec les pdv a enlever, les dégats mis l'adversaire et la défence''' attaque = perso1.jet_attaque() defense = perso2.jet_defense() if attaque > defense : lance = random.randint(1,8) defense = perso2.pdv - lance return print (" lors de cette attaque", perso1, "a perdu 0 pdv et" ,perso2, ",", defense, "pdv") elif attaque < defense : lance = random.randint (1,4) attaque = perso1.pdv - lance return print (" lors de cette attaque", nom1, "a perdu", attaque,"et" , nom2 , "0 pdv") nom1 = input("entrer le nom du premier joueur ") cat1 = input("entrer la categorie du premier joueur entre elfe,voleur," "magicien ou guerrier ") nom2 = input("entrer le nom du deuxieme joueur ") cat2 = input("entrer la categorie du deuxieme joueur entre elfe,voleur," "magicien ou guerrier ") perso1 = Personnage(nom1,cat1) perso2 = Personnage(nom2,cat2) def combat(): '''gére le systéme de combat entre les deux personnage''' while perso1.pdv == 0 or perso2 == 0: tour(perso1,perso2) if perso1.pdv == 0: print(perso1 ,"a perdu le combat") elif perso2.pdv == 0: print(perso2 ,"a perdu le combat")