diff --git a/personnage.py b/personnage.py index ef3813e..99fcc17 100644 --- a/personnage.py +++ b/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() + +