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.

66 lines
1.9 KiB

10 months ago
# coding=utf-8
from random import randint
from base_de_donnee import *
class Personnage:
def __init__(self, nom_base, nom, cat):
"""initialise le personnage"""
### à compléter !!!
10 months ago
#nom_base.ajout_personnage(nom,cat,20,1, inventaire)
self.nom = nom
self.pdv = 20
self.exp = 1
self.cat = cat
self.switcher_obj = {
"guerrier" : "épée",
"magicien" : "bâton",
"voleur" : "dague",
"elfe" : "arc",
}
self.inventaire = [self.switcher_obj.get(self.cat)]
self.inventaire.append("potion")
def jet_attaque(self):
"""renvoie le jet d'attaque"""
= randint(1,20)
self.switcher_classe = {
"guerrier" : 10,
"magicien" : 10,
"voleur" : 3,
"elfe" : 8,
}
self.classe = self.switcher_classe.get(self.cat)
return + self.exp * self.classe
def jet_defense(self):
"""renvoie le jet de défense"""
= randint(1,20)
self.switcher_classe = {
"guerrier" : 8,
"magicien" : 7,
"voleur" : 3,
"elfe" : 8,
}
self.classe = self.switcher_classe.get(self.cat)
return + self.exp * self.classe
def change_pdv(self, nb_pdv):
"""change le total de points de vie"""
self.pdv += nb_pdv
def change_exp(self, nb_exp):
"""change le nombre de points d'experience"""
self.exp += nb_exp
def affiche_caracteristiques(self):
"""affiche les caractéristiques du personnage"""
print("nom : ", self.nom)
print("catégorie : ", self.cat)
print("points de vie : ", self.pdv)
print("expérience : ", self.exp)
print("")
def affiche_inventaire(self):
"""affiche l'inventaire du personnage"""
print("inventaire : ", self.inventaire)