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.

77 lines
2.3 KiB

# coding=utf-8
from random import randint
from base_de_donnee import *
class Personnage:
def __init__(self, base, nom, cat):
"""initialise le personnage"""
self.nom = nom
self.base = base
self.switcher_obj = {
"guerrier" : "épée",
"magicien" : "bâton",
"voleur" : "dague",
"elfe" : "arc",
}
base.ajout_personnage(nom,cat,20,1, self.switcher_obj.get(cat)+",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.get_cat())
return + self.get_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.get_cat())
return + self.get_exp() * self.classe
def change_pdv(self, nb_pdv):
"""change le total de points de vie"""
self.base.change_pdv(self.nom, nb_pdv)
def change_exp(self, nb_exp):
"""change le nombre de points d'experience"""
self.base.change_exp(self.nom, nb_exp)
def get_pdv(self):
"""renvoie le nombre de point de vie du personnage"""
return self.base.get_pdv(self.nom)
def get_exp(self):
"""renvoie le nombre de point d'exp. du personnage"""
return self.base.get_exp(self.nom)
def get_cat(self):
"""renvoie la catégorie du personnage"""
return self.base.get_cat(self.nom)
def affiche_caracteristiques(self):
"""affiche les caractéristiques du personnage"""
print("nom : ", self.nom)
print("catégorie : ", self.get_cat())
print("points de vie : ", self.get_pdv())
print("expérience : ", self.get_exp())
print("")
def affiche_inventaire(self):
"""affiche l'inventaire du personnage"""
print("inventaire : ", self.base.affiche_inventaire(self.nom))