From 6d3fef3eaf7c6ee30bc596ee25a48e3af7315fde Mon Sep 17 00:00:00 2001 From: Xuan <> Date: Mon, 21 Sep 2026 09:46:19 +0200 Subject: [PATCH] finalisation du projet ajout doc plus verification si la categorie n'est pas bien ecrit --- main.py | 57 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/main.py b/main.py index 2174ecf..7dd418d 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,7 @@ from random import randint + class Personnage: + def __init__(self, nom, cat): """methode qui initialise les attributs""" self.nom = nom @@ -15,6 +17,7 @@ class Personnage: elif self.cat == "elfe": self.inventaire = ["bow, potion"] + def jet_attaque(self): """ Renvoie un jet dattaque qui est la somme d'un nombre aléatoire entre 1 et 20 a experience du joueur multiplier par coef""" de = randint(1,20) @@ -26,6 +29,7 @@ class Personnage: coef = 8 return de+(self.exp*coef) + def jet_defense(self): """ Renvoie un jet de defense qui est la somme d'un nombre aléatoire entre 1 et 20 a experience du joueur multiplier par coef""" @@ -40,70 +44,89 @@ class Personnage: coef = 10 return de+(self.exp*coef) + def change_pdv(self, nb_pdv): """ Change les point de vie du joueur en ajoutant la valeur positive ou negative au point de vie qu'il possede""" self.pdv += nb_pdv + def change_exp(self, nb_exp): """ Change l'experience du joueur en ajoutant a ceux qu'il possede deja""" self.exp += nb_exp + def affiche_caracteristique(self): - print("-------------------------\n \n", + """affiche les caracteristique du perso nom, cat, pdv, exp""" + print(" -------------------------\n \n", f" Nom : {self.nom}\n", f" Catégorie : {self.cat}\n", f" Point de vie : {self.pdv}\n", f" Expérience : {self.exp}\n \n", "-------------------------\n") + def affiche_inventaire(self): - print("------------------------------------\n \n", + """affiche le contenue de l'inventaire""" + print(" ------------------------------------\n \n", f" Inventaire : {self.inventaire}\n \n", "-----------------------------------") def start(): + """ Lance le programme demandant le nom des perso puis leur categorie et lance le duel""" + + print(" =============================================================================\n", + " Bienvenue, pour jouer a ce jeu il vous suffit d'ecrire -> start() dans la \n", + " console et le jeu lancera l'affrontement entre vos deux perso le gagnant\n", + " remportera 1 point d'éxperience\n", + "==============================================================================") + + classe_p1 = "" + classe_p2 = "" + nom_p1 = input("Choisi le nom de ton premier personnage : ") - classe_p1 = input("Choisi une classe pour ton premier personnage (guerrier, magicien, voleur, elfe) : ") + + + while classe_p1 != "guerrier" and classe_p1 != "magicien" and classe_p1 != "voleur" and classe_p1 != "elfe": + classe_p1 = input("Choisi une classe pour ton premier personnage (guerrier, magicien, voleur, elfe) : ") + perso1 = Personnage(nom_p1,classe_p1) + nom_p2 = input("Choisi le nom de ton second personnage : ") - classe_p2 = input("Choisi une classe pour ton second personnage (guerrier, magicien, voleur, elfe) : ") + + while classe_p2 != "guerrier" and classe_p2 != "magicien" and classe_p2 != "voleur" and classe_p2 != "elfe": + classe_p2 = input("Choisi une classe pour ton second personnage (guerrier, magicien, voleur, elfe) : ") + perso2 = Personnage(nom_p2,classe_p2) + while perso1.pdv > 0 and perso2.pdv > 0: attaquant = perso1.jet_attaque() defenseur = perso2.jet_defense() + print(" ", nom_p1, "fait un jet d'attaque de ", attaquant, " et ",nom_p2," un jet", " de defense de ", defenseur, " alors : ") if attaquant > defenseur: r = randint(1,8) perso2.change_pdv(-r) print(nom_p2,"perd ", r , " point de vie !!") + else: r = randint(1,4) perso1.change_pdv(-r) print(nom_p1,"perd ", r , " point de vie !!") + perso1.affiche_caracteristique() perso2.affiche_caracteristique() + if perso2.pdv <= 0: perso1.change_exp(1) print(nom_p2, "as perdu ",nom_p1,f"gagne 1 d'experience, il en a maintenant {perso1.exp}") + else: perso2.change_exp(1) print(nom_p1, "as perdu ",nom_p2,f"gagne 1 d'experience, il en a maintenant {perso2.exp}") -def tuto(): - print("==============================================================================\n", - " Bienvenue, pour jouer a ce jeu il vous suffit d'ecrire -> start() dans la \n", - " console et le jeu lancera l'affrontement entre Xuan et Jojo le gagnant\n", - " remportera 1 point d'éxperience\n", - "==============================================================================") - - -tuto() - - -xuan = Personnage("xuan", "guerrier") -jojo = Personnage("Jojo", "voleur") + start() \ No newline at end of file