|
|
|
@ -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() |
|
|
|
|
|
|
|
|
|
|
|
|