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.
108 lines
3.4 KiB
108 lines
3.4 KiB
import random
|
|
|
|
class Personnage :
|
|
'''on défini les attribu'''
|
|
def __init__ ( self, nom , cat ):
|
|
self.nom = nom
|
|
self.pdv = 20
|
|
self.exp = 1
|
|
self.cat = cat
|
|
if self.cat == 'guerrier':
|
|
self.inventaire = ['épée','potion']
|
|
elif self.cat == 'magicien' :
|
|
self.inventaire = ['bâton','potion']
|
|
elif self.cat == 'voleur':
|
|
self.inventaire = ['dague','potion']
|
|
elif self.cat == 'elfe':
|
|
self.inventaire = ['arc','potion']
|
|
|
|
def jet_attaque (self):
|
|
"""renvoie le jet d'attaque en prenant un nombre au hasard entre 1 et 20
|
|
#et en ajoutant l'experience du personnage multiplier par ça classe
|
|
"""
|
|
|
|
lanceA = random.randint(1,20)
|
|
if self.cat =='guerrier' or self.cat =='magicien':
|
|
return lanceA + self.exp* 10
|
|
elif self.cat =='voleur':
|
|
return lanceA + self.exp * 3
|
|
elif self.cat =='elfe':
|
|
return lanceA + self.exp * 8
|
|
|
|
def jet_defense (self):
|
|
"""renvoie le jet de defence en prenant un nombre au hasard entre
|
|
1 et 20 et en ajoutant l'experience du personnage multiplier par
|
|
ça classe"""
|
|
|
|
lanceD = random.randint(1,20)
|
|
if self.cat == 'guerrier':
|
|
return lanceD + self.exp * 8
|
|
elif self.cat == 'magicien':
|
|
return lanceD + self.exp * 7
|
|
elif self.cat == 'voleur':
|
|
return lanceD + self.exp * 9
|
|
elif self.cat == 'elfe':
|
|
return lanceD + self.exp * 10
|
|
|
|
|
|
def change_pdv (self, nb_pdv):
|
|
'''change le nombre de point de vie du personnage (nombre possitif
|
|
ou negatif)'''
|
|
|
|
self.pdv = self.pdv + nb_pdv
|
|
|
|
|
|
def change_exp (self, nb_exp):
|
|
'''change le nombre de point de vie du personnage
|
|
(nombre possitif)'''
|
|
self.exp = self.exp + nb_exp
|
|
|
|
|
|
def affiche_caracteristique (self):
|
|
'''affiche les caracteristique du personnage '''
|
|
|
|
print("je m'appelle",self.nom,"je suis un",
|
|
self.cat ,"j'ai",self.pdv, "point de vie et j'ai",
|
|
self.exp,
|
|
"niveau d'experience")
|
|
|
|
|
|
def affiche_inventaire (self):
|
|
'''affiche l'inventaire du personnage'''
|
|
|
|
print(" dans mon inventaire j'ai", self.inventaire)
|
|
|
|
def tour(perso1, perso2):
|
|
'''fait un tour entre perso1 et 2 avec les pdv a enlever,
|
|
les dégats mis
|
|
l'adversaire et la défence'''
|
|
|
|
attaque = perso1.jet_attaque()
|
|
defense = perso2.jet_defense()
|
|
if attaque > defense :
|
|
lance = random.randint(1,8)
|
|
defense = perso2.pdv - lance
|
|
return print (" lors de cette attaque", perso1,
|
|
"a perdu 0 pdv et" ,perso2, ",", defense, "pdv")
|
|
elif attaque < defense :
|
|
lance = random.randint (1,4)
|
|
attaque = perso1.pdv - lance
|
|
return print (" lors de cette attaque", perso1,
|
|
"a perdu", attaque,"et" , perso2 , "0 pdv")
|
|
|
|
nom1 = input("entrer le nom du premier joueur ")
|
|
cat1 = input("entrer la categorie du premier joueur entre elfe,voleur,"
|
|
"magicien ou guerrier ")
|
|
nom2 = input("entrer le nom du deuxieme joueur ")
|
|
cat2 = input("entrer la categorie du deuxieme joueur entre elfe,voleur,"
|
|
"magicien ou guerrier ")
|
|
|
|
perso1 = Personnage(nom1,cat1)
|
|
perso2 = Personnage(nom2,cat2)
|
|
|
|
tour(perso1,perso2)
|
|
|
|
|
|
|
|
|
|
|