Browse Source

Dernier COmmit

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

113
personnage.py

@ -5,7 +5,19 @@ class Personnage :
self.pdv = 20 self.pdv = 20
self.exp = 1 self.exp = 1
self.cat = cat 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) : def jet_attaque (self) :
lancer = random.randint(1,20) lancer = random.randint(1,20)
@ -40,39 +52,94 @@ class Personnage :
self.exp = self.exp + nb_exp self.exp = self.exp + nb_exp
def affiche_caracteristiques (self) : 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) : def affiche_inventaire(self) :
if self.cat == "guerrier" : print("Inventaire de", self.nom, ":", ", ".join(self.inventaire))
inv = self.inventaire[0] , self.inventaire[1] def affiche_pdv(self):
print("Votre inventaire contient", *inv, sep=" ,") print("<3 <3 <3 <3 Les points de vies de", self.nom, "sont à", self.pdv)
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=" ,")
def creer_personnage () : def creer_personnage () :
nom = input("Entrez le nom du personnage :") nom = input("Entrez le nom du personnage :")
classes = ["guerrier", "magicien", "voleur", "elfe"] print("Choississez la classe parmi:")
cat = input("Choississez la classe :") 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) return Personnage(nom, cat)
def combat (attaque, defense) : def combat (p1, p2) :
atq = attaque.jet_attaque() print("< < < < < Début du combat > > > > >")
defe = defense.jet_defense() 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
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()
def dé_huit (x) :
return random.randint(1, 8)
def dé_quatre (x) :
return random.randint(1, 4)
p1 = creer_personnage() p1 = creer_personnage()
print("Joueur 1 :")
p1.affiche_caracteristiques()
p1.affiche_inventaire()
p2 = creer_personnage() p2 = creer_personnage()
print("Joueur 2 :")
p2.affiche_caracteristiques()
p2.affiche_inventaire()

Loading…
Cancel
Save