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.
119 lines
4.0 KiB
119 lines
4.0 KiB
from random import randint
|
|
|
|
class Personnage:
|
|
def __init__(self, nom, cat):
|
|
self.nom = nom
|
|
self.hp = 20
|
|
self.xp = 1
|
|
self.cat = cat
|
|
if self.cat == 'Guerrier':
|
|
self.inv = ['Épée', 'Potion']
|
|
if self.cat == 'Magicien':
|
|
self.inv = ['Bâton', 'Potion']
|
|
if self.cat == 'Voleur':
|
|
self.inv = ['Dague', 'Potion']
|
|
if self.cat == 'Elfe':
|
|
self.inv = ['Arc', 'Potion']
|
|
|
|
|
|
def jet_attaque(self):
|
|
dé = randint(1,20)
|
|
print("Votre lancer a fait le nombre :", dé)
|
|
if self.cat == 'Guerrier' or self.cat == 'Magicien':
|
|
return dé + self.xp * 10
|
|
if self.cat == 'Voleur':
|
|
return dé + self.xp * 3
|
|
if self.cat == 'Elfe':
|
|
return dé + self.xp * 8
|
|
|
|
|
|
def jet_defense(self):
|
|
pass
|
|
dé = randint(1,20)
|
|
print("Votre lancer a fait le nombre :", dé)
|
|
if self.cat == 'Guerrier':
|
|
return dé + self.xp * 8
|
|
if self.cat == 'Magicien':
|
|
return dé + self.xp * 7
|
|
if self.cat == 'Voleur':
|
|
return dé + self.xp * 9
|
|
if self.cat == 'Elfe':
|
|
return dé + self.xp * 10
|
|
|
|
|
|
def change_hp(self, nb_hp):
|
|
self.hp = nb_hp + self.hp
|
|
|
|
|
|
def change_xp(self, nb_xp):
|
|
self.xp = nb_xp + self.xp
|
|
|
|
|
|
def affiche_caracteristiques(self):
|
|
print(f"Votre nom : {self.nom}\n"
|
|
f"Votre categorie : {self.cat}\n"
|
|
f"Vos points de vie : {self.hp}\n"
|
|
f"Votre experience : {self.xp}\n")
|
|
|
|
def affiche_inventaire(self):
|
|
if self.cat == 'Guerrier':
|
|
print("Votre personnage a : Épée, Potion")
|
|
if self.cat == 'Magicien':
|
|
print("Votre personnage a : Bâton, Potion")
|
|
if self.cat == 'Voleur':
|
|
print("Votre personnage a : Dague, Potion")
|
|
if self.cat == 'Elfe':
|
|
print("Votre personnage a : Arc, Potion")
|
|
|
|
|
|
def attribution():
|
|
attaquant_nom = input ("Comment l'attaquant se nomme ?")
|
|
attaquant_cat = input ("A quelle catégorie voulez vous appartenir ? \n"
|
|
"Aux guerriers = 1 \n "
|
|
"Aux magiciens = 2 \n "
|
|
"Aux Voleurs = 3 \n "
|
|
"Aux Elfes = 4")
|
|
if attaquant_cat == "1":
|
|
attaquant_cat = "Guerrier"
|
|
if attaquant_cat == "2":
|
|
attaquant_cat = "Magicien"
|
|
if attaquant_cat == "3":
|
|
attaquant_cat = "de Voleur"
|
|
if attaquant_cat == "4":
|
|
attaquant_cat = "Elfe"
|
|
print ("Vous faites maintenant partis des" ,attaquant_cat)
|
|
|
|
defenseur_nom = input ("Puis comment le joueur 2 se nomme ?")
|
|
defenseur_cat = input ("A quelle catégorie voulez vous appartenir ? \n"
|
|
"Aux guerriers = 1 \n "
|
|
"Aux magiciens = 2 \n "
|
|
"Aux Voleurs = 3 \n "
|
|
"Aux Elfes = 4")
|
|
if defenseur_cat == "1":
|
|
defenseur_cat = "Guerrier"
|
|
if defenseur_cat == "2":
|
|
defenseur_cat = "Magicien"
|
|
if defenseur_cat == "3":
|
|
defenseur_cat = "Voleur"
|
|
if defenseur_cat == "4":
|
|
defenseur_cat = "Elfe"
|
|
print ("Vous faites maintenant partis des" ,defenseur_cat)
|
|
|
|
attaquant = Personnage(attaquant_nom, attaquant_cat)
|
|
defenseur = Personnage(defenseur_nom, defenseur_cat)
|
|
|
|
tour(attaquant, defenseur)
|
|
|
|
def tour(attaquant, defenseur):
|
|
while attaquant.hp == 0 or defenseur.hp == 0 :
|
|
A_attaque = attaquant.jet_attaque()
|
|
D_defense = defenseur.jet_defense()
|
|
if A_attaque > D_defense:
|
|
attaquant.change_hp - randint(1,8)
|
|
if A_attaque < D_defense:
|
|
defenseur.change_hp - randint(1,4)
|
|
return "vous avez fait le même score"
|
|
if attaquant.hp == 0:
|
|
print("le defenseur a gagné la partie")
|
|
if defenseur.hp == 0:
|
|
print("l'attaquant a gagné la partie")
|