From e34e29272577f6f8b054c1f98be5392c1df24c35 Mon Sep 17 00:00:00 2001 From: PITAVY Mathis Date: Fri, 20 Sep 2024 22:45:37 +0200 Subject: [PATCH] =?UTF-8?q?jeu=20de=20r=C3=B4le.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeu de rôle.py | 258 ------------------------------------------------ 1 file changed, 258 deletions(-) delete mode 100644 jeu de rôle.py diff --git a/jeu de rôle.py b/jeu de rôle.py deleted file mode 100644 index 277101f..0000000 --- a/jeu de rôle.py +++ /dev/null @@ -1,258 +0,0 @@ -import random -from tkinter import * - -#--GUI -fenetre = Tk() -fenetre.title("Baldur's Bait") -fenetre_width = 1024 -fenetre_height = 1024 -ScreenWidth = fenetre.winfo_screenwidth() -Screenheight = fenetre.winfo_screenheight() -fenetre.resizable(width=False, height=False) -fenetre.configure(bg='white') - -#photo = PhotoImage(file="bait.png") - -canvas = Canvas(fenetre,width=1024, height=1024) -#canvas.create_image(0, 0, anchor=NW, image=photo) -canvas.pack() - -#bouton -boutonfermer = Button(fenetre, text='Quitter', command = fenetre.destroy) -boutonfermer.pack() - -def recupere(): - showinfo("Alerte", entree.get()) - -value = StringVar() -value.set("Valeur") -entree = Entry(fenetre, textvariable=value, width=30) -entree.pack() - -bouton = Button(fenetre, text="Valider", command=recupere) -bouton.pack() - -#--class -class Personne: - def __init__(self, nom, cat): - self.__nom = nom - self.__xp = 1 - self.__cat = cat - self.__pot = 2 - if self.__cat == 'guerrier': - self.__hp = 20 - elif self.__cat == 'mage': - self.__hp =20 - elif self.__cat == 'voleur': - self.__hp = 30 - elif self.__cat == 'elfe': - self.__hp = 22 - if cat == 'guerrier': - self.__inv = ['epee', 'potion'] - elif cat == 'mage': - self.__inv = ['baton', 'potion'] - elif cat == 'voleur': - self.__inv = ['dague', 'potion'] - elif cat == 'elfe': - self.__inv = ['arc', 'potion'] - if self.get_cat() == 'guerrier' or self.get_cat() == 'mage': - self.__coefAtq = 10 - elif self.get_cat() == 'voleur': - self.__coefAtq = 3 - elif self.get_cat() == 'elfe': - self.__coefAtq = 8 - if self.get_cat() == 'guerrier': - self.__coefDef = 8 - elif self.get_cat() == 'mage': - self.__coefDef = 7 - elif self.get_cat() == 'voleur': - self.__coefDef = 9 - elif self.get_cat() == 'elfe': - self.__coefDef = 10 - - def get_nom(self): - return self.__nom - - def get_hp(self): - return self.__hp - - def get_xp(self): - return self.__xp - - def get_cat(self): - return self.__cat - - def get_pot(self): - return self.__pot - - def get_inv(self): - return self.__inv - - def get_coef_atq(self): - return self.__coefAtq - - def get_coef_def(self): - return self.__coefDef - - def set_nom(self, nom): - self.__nom = nom - - def jet_attaque(self): - return random.randint(1, 20) + (self.get_xp()*self.get_coef_atq()) - - def jet_defense(self): - return random.randint(1, 20) + (self.get_xp()*self.get_coef_def()) - - def change_pdv(self, nb_pdv): - self.__hp += nb_pdv - - def change_exp(self, nb_exp): - self.__xp += nb_exp - - def affiche_caracteristiques(self): - print('caractéristiques de ', self.get_nom(),':', - '\n catégorie: ', self.get_cat(), - '\n hp: ', self.get_hp(), - '\n xp: ', self.get_xp(), - ) - - def affiche_inventaire(self): - print('\n votre inventaire: ', self.get_inv()) - -#--main -nb_tour = 0 -liste_tour = ['bot', 'joueur'] - - #--round -def tour(attaquant, defenseur): - global nb_tour - nb_tour += 1 - liste_tour.reverse() - attaquant = liste_tour[0] - defenseur = liste_tour[1] - nb_potions = joueur.get_pot() - if attaquant == 'joueur': - print("\nTour n°", nb_tour) - action = input(print("\nvous pouvez attaquer ou utiliser une potion de soins(possédée(s):", nb_potions, "),", - "\nquelle est votre action?", - "\nA pour attaquer / E pour potion")).upper() - if action == "A": - dmg = joueur.jet_attaque() - print("\nvous lancez un jet d'attaque...", - "\nvotre jet d'attaque vaut: ", dmg, "...") - shield = bot.jet_defense() - print("\ndonc votre adversaire lance un jet de defense...", - "\nle jet de defense ennemie vaut: ", shield, "...") - elif action == "E": - if nb_potions < 0: - joueur.change_pdv(10) - joueur.__pot -= 1 - print("\nvous vous soignez...", - "\nil vous reste ", joueur.get_pot(), " potion(s)") - else: - print("\nvous n'avez plus de potions") - tour(attaquant, defenseur) - if dmg > shield: - nb_pdv = (-1) * random.randint(1,8) - bot.change_pdv(nb_pdv) - print("\nvous avez remporté le tour...", - "\net infligé ", -nb_pdv, "pts de dégats à l'ennemie!") - elif dmg < shield: - nb_pdv = (-1) * random.randint(1,4) - joueur.change_pdv(nb_pdv) - print("\nvous avez perdu le tour...", - "\net reçu ", -nb_pdv, "pts de dégats de l'ennemie!") - else: - print('\nparade parfaite: aucun des joueur ne perd de points de vie') - elif attaquant == 'bot': - print("\nTour n°", nb_tour) - dmg = bot.jet_attaque() - print("\nvotre adversaire lance un jet d'attaque...", - "\nle jet d'attaque ennemie vaut: ", dmg, "...") - action = input(print("\nvous pouvez vous defendre ou utiliser une potion de soins(possédée(s):", nb_potions, "),", - "\nquelle est votre action?", - "\nZ pour defendre / E pour potion")).upper() - if action =="Z": - shield = joueur.jet_defense() - print("\nvous lancez un jet de defense...", - "\nvotre jet de defense vaut: ", shield, "...") - elif action == "E": - if nb_potions < 0: - joueur.change_pdv(10) - joueur.__pot -= 1 - print("\nvous vous soignez...", - "\nil vous reste ", joueur.get_pot(), " potion(s).") - else: - print("\nvous n'avez plus de potions") - tour(attaquant, defenseur) - if dmg > shield: - nb_pdv = (-1) * random.randint(1,8) - joueur.change_pdv(nb_pdv) - print("\nvous avez perdu le tour...", - "\net reçu ", -nb_pdv, "pts de dégats de l'ennemie!") - elif dmg < shield: - nb_pdv = (-1) * random.randint(1,4) - bot.change_pdv(nb_pdv) - print("\nvous avez remporté le tour...", - "\net infligé ", -nb_pdv, "pts de dégats à l'ennemie!") - else: - print('\nparade parfaite: aucun des joueur ne perd de points de vie') - -liste = ['defenseur', 'attaquant'] - - #--game -def jeu(joueur, bot): - jhp = player.get_hp() - bhp = enemy.get_hp() - liste.reverse() - joueur = liste[0] - bot = liste[1] - if joueur == 'attaquant' and jhp > 0 and bhp > 0: - tour(joueur, bot) - player.affiche_caracteristiques() - enemy.affiche_caracteristiques() - jeu(joueur, bot) - elif bot == 'attaquant' and jhp > 0 and bhp > 0: - tour(bot, joueur) - player.affiche_caracteristiques() - enemy.affiche_caracteristiques() - jeu(joueur, bot) - elif player.get_hp() > 0: - player.change_exp(1) - print("\n VICTOIRE!", "\nvous avez gagné le combat! et remporté 1 point d'experience!") - joueur = Personne('joueur', 'guerrier') - bot = Personne('bot', 'voleur') - else: - enemy.change_exp(1) - print("\n DEFAITE!", "\nvous avez perdu!") - joueur = Personne('joueur', 'guerrier') - bot = Personne('bot', 'voleur') - - #--player character choice -def choix(): - n = input("\nquel est le nom de votre personnage? :") - classe = input("\nappuyez sur: \n A pour guerrier, \n Z pour mage, \n E pour voleur, \n R pour elfe \n").upper() - if classe == "A": - return Personne(n, "guerrier") - if classe == "Z": - return Personne(n, "mage") - if classe == "E": - return Personne(n, "voleur") - if classe == "R": - return Personne(n, "elfe") - - #--random bot -def rand(): - name = ["Darius", "Garen", "Zac", "Ashe", "Elise", "Gwen"] - cat = ["guerrier", "mage", "voleur", "elfe"] - name_r = random.choice(name) - cat_r = random.choice(cat) - return Personne(name_r, cat_r) - -joueur = choix() -player = joueur -bot = rand() -enemy = bot -jeu(joueur, bot) - -fenetre.mainloop() \ No newline at end of file