You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
from random import randint
|
|
class Personnage:
|
|
def __init__ (self, nom):
|
|
self.nom = nom
|
|
self.pdv = 20
|
|
self.exp = 1
|
|
self.cat = 0
|
|
self.inventaire = ["potion"]
|
|
|
|
def menu(self):
|
|
self.cat = int(input("""
|
|
1: guerrier
|
|
2: magicien
|
|
3: voleur
|
|
4: elfe
|
|
|
|
"""))
|
|
|
|
def jet_attaque(self):
|
|
lancer = randint(1, 20)
|
|
if self.cat == 1 or self.cat == 2:
|
|
damage = self.exp * 10
|
|
elif self.cat == 3:
|
|
damage = self.exp * 3
|
|
elif self.cat == 4:
|
|
damage = self.exp * 10
|
|
return lancer + damage
|
|
|
|
def jet_defense(self):
|
|
lancer = randint(1, 20)
|
|
if self.cat == 1:
|
|
defense = self.exp * 8
|
|
if self.cat == 2:
|
|
defense = self.exp * 7
|
|
elif self.cat == 3:
|
|
defense = self.exp * 9
|
|
elif self.cat == 4:
|
|
defense = self.exp * 8
|
|
return lancer + defense
|
|
|
|
def change_pdv(self, nb_pdv):
|
|
self.pdv += nb_pdv
|
|
|
|
def change_exp(self, nb_exp):
|
|
if nb_exp <= 0:
|
|
raise ValueError("Le nombre doit être positif ou nul")
|
|
self.exp += nb_exp
|
|
|
|
def affiche_caracteristiques(self):
|
|
print("""
|
|
vous vous appellez {}
|
|
vous êtes un {}
|
|
vous avez {} point de vie et {} éxpérience""".format(self.nom, self.cat, self.pdv, self.exp))
|
|
|
|
def affiche_inventaire(self):
|
|
if self.cat == 1:
|
|
self.inventaire.append("épée")
|
|
print(self.inventaire)
|
|
elif self.cat == 2:
|
|
self.inventaire.append("bâton")
|
|
print(self.inventaire)
|
|
elif self.cat == 3:
|
|
self.inventaire.append("dague")
|
|
print(self.inventaire)
|
|
elif self.cat == 4:
|
|
self.inventaire.append("arc")
|
|
print(self.inventaire)
|
|
else:
|
|
print("vous n'avez pas de catégorie")
|
|
self.menu()
|
|
|
|
|
|
|
|
|
|
mon_personnage = Personnage("Seyba")
|
|
|