Browse Source

Dernier COmmit

master
eli 2 months ago
parent
commit
6ac9a52dc5
  1. 115
      personnage.py

115
personnage.py

@ -5,7 +5,19 @@ class Personnage :
self.pdv = 20
self.exp = 1
self.cat = cat
self.inventaire = ["épée","potion","batôn","dague","arc"]
self.inventaire = self.init_inventaire()
def init_inventaire(self) :
if self.cat == "guerrier":
return ["épée", "potion"]
elif self.cat == "magicien":
return ["bâton", "potion"]
elif self.cat == "voleur":
return ["dague", "potion"]
elif self.cat == "elfe":
return ["arc", "potion"]
else:
return []
def jet_attaque (self) :
lancer = random.randint(1,20)
@ -40,39 +52,94 @@ class Personnage :
self.exp = self.exp + nb_exp
def affiche_caracteristiques (self) :
print("Les points de vies de", self.nom, "sont à", self.pdv, ". Ses points d'expériences sont à", self.exp, ". Sa catégorie est", self.cat)
print("Les points de vies de", self.nom, "sont à", self.pdv, ". Ses points d'expériences sont à", self.exp, ". Sa catégorie est", self.cat, ".")
def affiche_inventaire(self) :
if self.cat == "guerrier" :
inv = self.inventaire[0] , self.inventaire[1]
print("Votre inventaire contient", *inv, sep=" ,")
elif self.cat == "magicien" :
inv = self.inventaire[2] , self.inventaire[1]
print("Votre inventaire contient", *inv, sep=" ,")
elif self.cat == "voleur" :
inv = self.inventaire[3] , self.inventaire[1]
print("Votre inventaire contient", *inv, sep=" ,")
elif self.cat == "elfe" :
inv = self.inventaire[4] , self.inventaire[1]
print("Votre inventaire contient", *inv, sep=" ,")
print("Inventaire de", self.nom, ":", ", ".join(self.inventaire))
def affiche_pdv(self):
print("<3 <3 <3 <3 Les points de vies de", self.nom, "sont à", self.pdv)
def creer_personnage () :
nom = input("Entrez le nom du personnage :")
classes = ["guerrier", "magicien", "voleur", "elfe"]
cat = input("Choississez la classe :")
print("Choississez la classe parmi:")
print("1 - Guerrier")
print("2 - Magicien")
print("3 - Voleur")
print("4 - Elfe")
choix = input("Selectionnez le numero de votre classe :")
while choix not in ["1", "2", "3", "4"] :
print("Choix invalide, entrez un numero entre 1 et 4")
choix = input("Selectionnez le numero de votre classe :")
if choix == "1":
cat = "guerrier"
elif choix == "2" :
cat = "magicien"
elif choix == "3" :
cat = "voleur"
elif choix == "4" :
cat = "elfe"
return Personnage(nom, cat)
def combat (attaque, defense) :
atq = attaque.jet_attaque()
defe = defense.jet_defense()
def combat (p1, p2) :
print("< < < < < Début du combat > > > > >")
p1.affiche_caracteristiques()
p2.affiche_caracteristiques()
attaquant = p1
defenseur = p2
while p1.pdv > 0 and p2.pdv > 0 :
print()
print("!!!", attaquant.nom, "attaque", defenseur.nom, "!!!")
att = attaquant.jet_attaque()
defe = defenseur.jet_defense()
print(">>>>> Jet d'attaque de", attaquant.nom, ":", att)
print()
print("<<<<< Jet de défense de", defenseur.nom, ":", defe)
if att > defe :
degats = random.randint(1, 8)
print(defenseur.nom, "est touché et perd", degats, "points de vies !")
defenseur.change_pdv(-degats)
p2.affiche_pdv()
elif att < defe:
degats = random.randint(1,4)
print(attaquant.nom, "rate son coup, et perd", degats, "points de vies !")
attaquant.change_pdv(-degats)
p1.affiche_pdv()
else :
print(attaquant.nom, "trébuche sur un caillou, et", defenseur.nom, "se raille de lui..")
p1.affiche_pdv()
p2.affiche_pdv()
if p1.pdv == 0 or p2.pdv == 0 :
print()
p1.affiche_caracteristiques()
p2.affiche_caracteristiques()
attaquant, defenseur = defenseur, attaquant
def dé_huit (x) :
return random.randint(1, 8)
def dé_quatre (x) :
return random.randint(1, 4)
print()
print(" < < < < < Fin du combat > > > > >")
if p1.pdv <= 0:
print(p1.nom, "est mort des coups de", p2.nom, "!")
print(p2.nom, "gagne 1 point d'expérience.")
p2.change_exp(1)
else:
print(p2.nom, "est mort des coups de", p1.nom, "!")
print(p1.nom, "gagne 1 point d'expérience.")
p1.change_exp(1)
print()
p1.affiche_caracteristiques()
p2.affiche_caracteristiques()
p1 = creer_personnage()
print("Joueur 1 :")
p1.affiche_caracteristiques()
p1.affiche_inventaire()
p2 = creer_personnage()
print("Joueur 2 :")
p2.affiche_caracteristiques()
p2.affiche_inventaire()

Loading…
Cancel
Save