import random class Personne: def __init__(self, nom, cat): self.__nom = nom self.__xp = 1 self.__cat = cat if self.__cat == 'guerrier': self.__hp = 20 elif self.__cat == 'mage': self.__hp =20 elif self.__cat == 'voleur': self.__hp = 30 elif self.__cat == 'elfe': self.__hp = 22 if cat == 'guerrier': self.__inv = ['epee', 'potion'] elif cat == 'mage': self.__inv = ['baton', 'potion'] elif cat == 'voleur': self.__inv = ['dague', 'potion'] elif cat == 'elfe': self.__inv = ['arc', 'potion'] if self.get_cat() == 'guerrier' or self.get_cat() == 'mage': self.__coefAtq = 10 elif self.get_cat() == 'voleur': self.__coefAtq = 3 elif self.get_cat() == 'elfe': self.__coefAtq = 8 if self.get_cat() == 'guerrier': self.__coefAtq = 8 if self.get_cat() == 'mage': self.__coefDef = 7 elif self.get_cat() == 'voleur': self.__coefDef = 9 elif self.get_cat() == 'elfe': self.__coefDef = 10 def get_nom(self): return self.__nom def get_hp(self): return self.__hp def get_xp(self): return self.__xp def get_cat(self): return self.__cat def get_inv(self): return self.__inv def get_coef_atq(self): return self.__coefAtq def get_coef_def(self): return self.__coefDef def set_nom(self): self.__nom = nom def jet_attaque(self): return random.randint(1, 20) + (self.get_xp()*self.get_coef_atq()) def jet_defense(self): return random.randint(1, 20) + (self.get_xp()*self.get_coef_def()) def change_pdv(self, nb_pdv): self.__hp += nb_pdv def change_exp(self, nb_exp): self.__xp += nb_exp def affiche_caracteristiques(self): print('caractéristiques de ', self.get_nom(),':', '\n catégorie: ', self.get_cat(), '\n hp: ', self.get_hp(), '\n xp: ', self.get_xp(), ) def affiche_inventaire(self): print('\n votre inventaire: ', self.get_inv()) def tour(joueur, bot): if joueur.jet_attaque() > bot.jet_defense(): nb_pdv = (-1) * random.randint(1,8) bot.change_pdv(nb_pdv) print('\n vous avez infligé ', -nb_pdv, "pts de dégats à l'ennemie!") elif joueur.jet_attaque() < bot.jet_defense(): nb_pdv = (-1) * random.randint(1,4) joueur.change_pdv(nb_pdv) print('\n vous avez reçu ', -nb_pdv, "pts de dégats de l'ennemie!") else: print('\n parade parfaite: aucun des joueur ne perd de points de vie') def jeu(joueur, bot): jhp = joueur.get_hp() bhp = bot.get_hp() if jhp > 0 and bhp > 0: tour(joueur, bot) joueur.affiche_caracteristiques() bot.affiche_caracteristiques() jeu(joueur, bot) elif joueur.get_hp() > 0: joueur.change_exp(1) print("vous avez gagné le combat! et remporté 1 point d'experience!") joueur = Personne('joueur', 'guerrier') bot = Personne('bot', 'voleur') else: print('vous avez perdu!') joueur = Personne('joueur', 'guerrier') bot = Personne('bot', 'voleur') def choix(): n = input("quel est le nom de votre personnage? :") classe = input("appuyez sur: \n A pour guerrier, \n Z pour mage, \n E pour voleur, \n R pour elfe \n").upper() if classe == "A": return Personne(n, "guerrier") if classe == "Z": return Personne(n, "mage") if classe == "E": return Personne(n, "voleur") if classe == "R": return Personne(n, "elfe") joueur = choix()