from random import randint class Personnage: def __init__(self, nom, cat): self.nom = nom self.pdv = 20 self.exp = 1 self.cat = cat if self.cat == "guerrier": self.inv = ["épée", "potion"] elif self.cat == "magicien": self.inv = ["bâton", "potion"] elif self.cat == "voleur": self.inv = ["dague", "potion"] elif self.cat == "elfe": self.inv = ["arc", "potion"] def jet_attaque(self): attaque = randint(1,20) if self.cat == "guerrier": attaque = attaque + self.exp*10 elif self.cat == "mage": attaque = attaque + self.exp*10 elif self.cat == "voleur": attaque = attaque + self.exp*3 elif self.cat == "elfe": attaque = attaque + self.exp*8 return attaque def jet_defense(self): defense = randint(1,20) if self.cat == "guerrier": defense = defense + self.exp*10 elif self.cat == "mage": defense = defense + self.exp*10 elif self.cat == "voleur": defense = defense + self.exp*3 elif self.cat == "elfe": defense = defense + self.exp*8 return defense def change_pdv(self, nb_pdv): pdv += nb_pdv def change_exp(self, nb_exp): exp += nb_exp def affiche_caracteristiques(self): #Permet d'afficher les caracteristiques de votre personnage print("Le nom de votre personnage est:", self.nom,".") print("Votre personnage est un(e):", self.cat,".") print("Votre personnage possède", self.pdv, "points de vie.") print("Votre personnage possède", self.exp, "d'experience.") def affiche_inventaire(self): #Permet d'afficher l'inventaire du personnage print("Inventaire de votre personnage:", self.inv) nomP1 = input("Joueur 1, quel est votre nom ?: ") nomP2 = input("Joueur 2, quel est votre nom ?: ") catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") while not catP1 == "guerrier" and catP1 == "mage" and catP1 == "voleur" and catP1 == "elfe": catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") catP2 = input("Joueur 2, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") while not catP2 == "guerrier" and catP2 == "mage" and catP2 == "voleur" and catP2 == "elfe": catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") P1 = Personnage(nomP1, catP1) P2 = Personnage(nomP2, catP2) while P1.pdv > 0 or P2.pdv > 0: atkP1 = P1.jet_attaque() defP2 = P2.jet_defense() if atkP1 > defP2: nb_pdv = randint(1,8) P2.change_pdv(-nb_pdv) else: nb_pdv = randint(1,4) P1.change_pdv(-nb_pdv) P1_affiche_caracteristiques() P2.affiche_caracteristiques() defP1 = P1.jet_defense() atkP2 = P2.jet_attaque() if atkP2 > defP1: nb_pdv = randint(-1,-8) P1.change_pdv(-nb_pdv) else: nb_pdv = randint(-1,-4) P2.change_pdv(-nb_pdv) if P1.pdv > 0 and P2.pdv == 0: P1.change_exp(1) elif P1.pdv == 0 and P2.pdv > 0: P2.change_exp(1)