# Manon BELLYNCK TG2 from random import randint class Personnage: def __init__(self, nom, cat): pdv = 20 exp = 1 self.nom = nom self.pdv = pdv self.exp = exp self.cat = cat if self.cat == "guerrier": self.inventaire = ["épée","potion"] self.coef_at = 10 self.coef_def = 8 elif self.cat == "magicien": self.inventaire = ["baton","potion"] self.coef_at = 10 self.coef_def = 7 elif self.cat == "voleur": self.inventaire = ["dague","potion"] self.coef_at = 3 self.coef_def = 9 elif self.cat == "elfe": self.inventaire = ["arc","potion"] self.coef_at = 8 self.coef_def = 10 def jet_attaque (self): lancer_dés = randint (1,20) attaque = lancer_dés + self.coef_at * self.exp return attaque def jet_defense (self): lancer_dés = randint (1,20) defense = lancer_dés + self.exp * self.coef_def return defense def change_pdv (self, nb_pdv): self.pdv = self.pdv + nb_pdv return self.pdv def change_exp (self, nb_exp): self.exp = self.exp + nb_exp return self.exp def affiche_caracteristiques (self): print ("Je suis", self.nom, "je suis un", self.cat, "j'ai", self.pdv,"point de vie et", self.exp, "point d'experience") def affiche_inventaire (self): print ("j'ai", self.inventaire) #p = Personnage("pierrot","guerrier") def jouer(): nomP1 = input("joueur 1 votre nom") catP1 =input ("quel est la catégorie du jouer 1") p1 = Personnage (nomP1, catP1) nomP2 = input("joueur 2 votre nom") catP2 =input ("quel est la catégorie du jouer 2") p2 = Personnage (nomP2, catP2) while p1.pdv > 0 and p2.pdv > 0: # p1 attaque p2 ja = p1.jet_attaque() jd = p2.jet_defense() if ja > jd : p2.change_pdv(-randint(1,8)) #p2 perd des point de vie elif jd > ja : p1.change_pdv(-randint(1,4))#p1 perd des point de vie elif p1.pdv == 0: p2.change_exp(1) print ("p2 gagnant et p1 perdant") #p1 mort en attaquant elif p2.pdv == 0: p1.change_exp(1) print ("p1 gagnant et p2 perdant") #p2 mort en défendant elif p1.pdv > 0 and p2.pdv > 0: #p2 attaque p1 ja = p2.jet_attaque() jd = p1.jet_defense() if ja > jd : p2.change_pdv(-randint(1,8)) #p2 perd des point de vie elif jd > ja : p1.change_pdv(-randint(1,4))#p1 perd des point de vie elif p1.pdv == 0: p2.change_exp(1) print ("p2 gagnant et p1 perdant") #p1 mort en défendant elif p2.pdv == 0: p1.change_exp(1) print ("p1 gagnant et p2 perdant")#p2 mort en attaquant