PYTHON 15
Module_jeu.py Guest on 7th October 2020 08:06:56 PM
  1. main.py
  2. import random
  3. import time
  4. from module_jeu import *
  5.  
  6. class Personnage:
  7.     """ personnage de type générique """
  8.  
  9.     points_de_vie = 100
  10.     points_de_vie_max = 100
  11.     potion_de_vie = False
  12.     mage_liste = []
  13.     heure_de_coucher = 0
  14.     coucher = False
  15.     liste_equipe = ["verte","rouge","bleue"]
  16.     def __init__(self, nom, espece, equipe="rouge"):
  17.         if equipe==None:
  18.             self.equipe=self.liste_equipe[random.randint(0,2)]
  19.         self.nom = nom
  20.         self.espece = espece
  21.         self.equipe = equipe
  22.         if self.espece == "guerrier":
  23.             self.points_attaque = 5
  24.             self.points_defense = 3
  25.             self.stamina = 13
  26.         if self.espece == "archer":
  27.             self.points_attaque = 5
  28.             self.points_defense = 7
  29.             self.stamina = 10
  30.         if self.espece == "mage":
  31.             self.points_attaque = 3
  32.             self.points_defense = 3
  33.             self.stamina = 8
  34.             self.potion_de_vie = True
  35.             self.mage_liste.append(self)
  36.         self.stamina_max = self.stamina
  37.         print("le joueur {0} a été créé il est de l'équipe {1} et de l'espece {2}".format(self.nom, self.equipe, self.espece))
  38.  
  39.  
  40.  
  41. ___________________________________________________________________________________________________________________________________________________
  42.  
  43. ___________________________________________________________________________________________________________________________________________________
  44.  
  45.  
  46. ___________________________________________________________________________________________________________________________________________________
  47. ___________________________________________________________________________________________________________________________________________________
  48. module_jeu.py
  49. def inlife(self):
  50.         if self.points_de_vie <= 0:
  51.             print("le joueur {0} est mort".format(self.nom))
  52.             return False
  53.         return True
  54.  
  55.  
  56. def meme_equipe(self, joueur):
  57.     if self.equipe == joueur.equipe:
  58.         return True
  59.     return False
  60.  
  61. def attaquer(self, adversaire, nombre_decoup=1):
  62.     if self.coucher:
  63.         print("le joueur {0} dort il ne peut pas attaquer !".format(self.nom))
  64.         return
  65.     if adversaire.inlife() and self.inlife():
  66.         if self.meme_equipe(adversaire):
  67.             print(
  68.                 "le joueur {0} et le joueur {1} sont tout les deux de l'equipe {2} un joueur ne peux pas attaquer un joueur de son equipe !".format(
  69.                     self.nom, adversaire.nom, self.equipe))
  70.             return
  71.         coups_portes = 0
  72.         for coup in range(nombre_decoup):
  73.             if self.stamina == 0:
  74.                 break
  75.             coups_portes += 1
  76.             self.stamina -= 1
  77.             adversaire.points_de_vie -= (self.points_attaque - adversaire.points_defense)
  78.  
  79.         print("le joueur {0} donne {1} coup(s) au joueur {3} il reste {2} de vie au joueur {3}".format(self.nom,
  80.                                                                                                        coups_portes,
  81.                                                                                                        adversaire.points_de_vie,
  82.                                                                                                        adversaire.nom))
  83.         adversaire.inlife()
  84.         if self.stamina == 0:
  85.             print("le joueur {0} n'a plus de stamina il ne peut plus attaquer (une sieste s'impose !)".format(
  86.                 self.nom))
  87.     if random.randint(0, 5) == 1:
  88.         time.sleep(3)
  89.         print("\n\n\nil y a une reunion de mages dans la foret le(s) joueur(s) suivant doivent y aller :")
  90.         for player in self.mage_liste:
  91.             if player.espece == "mage":
  92.                 print(player.nom)
  93.  
  94. def repos(self):
  95.     if self.heure_de_coucher != 0:
  96.         print("le joueur{0} dort deja !".format(self.nom))
  97.         return
  98.     if self.points_de_vie == self.points_de_vie_max and self.stamina == self.stamina_max:
  99.         print("le joueur {0} a deja ses points de vie et sa stamina au max il n'est pas fatigué".format(self.nom))
  100.         return
  101.     self.heure_de_coucher = int(time.time())
  102.     self.coucher = True
  103.  
  104. def reveil(self):
  105.     if self.heure_de_coucher == 0:
  106.         print("le joueur {0} est ne dort pas !".format(self.nom))
  107.         return
  108.     temps_de_sommeil = int(time.time() - self.heure_de_coucher)
  109.     self.heure_de_coucher = 0
  110.     self.points_de_vie = int(self.points_de_vie * random.uniform(1.10, 1.25))
  111.     if self.stamina <= 2:
  112.         self.stamina = random.randint(int(self.stamina_max / 4), int(self.stamina_max / 2))
  113.     self.stamina = self.stamina * 2
  114.     if self.points_de_vie > self.points_de_vie_max:
  115.         self.points_de_vie = self.points_de_vie_max
  116.     if self.stamina > self.stamina_max:
  117.         self.stamina = self.stamina_max
  118.     print(
  119.         "le joueur {0} s'est reposé pendant {1} heures, il posséde maintenant {2} point de vie et {3} de stamina".format(
  120.             self.nom, temps_de_sommeil / 50, self.points_de_vie, self.stamina))
  121.     self.coucher=False
  122.  
  123. def revive(self, mort):
  124.     if mort.points_de_vie > 0:
  125.         print("le joueur {0} n'est pas mort".format(mort.nom))
  126.         return
  127.     if self.potion_de_vie:
  128.         if self.equipe != mort.equipe:
  129.             print(
  130.                 "le joueur {0} ({1}) et le joueur {2} ({3}) ne sont pas de la même équipe il faut etre de la même equipe pour revive !".format(
  131.                     self.nom, self.equipe, mort.nom, mort.equipe))
  132.             return
  133.         mort.points_de_vie = self.points_de_vie_max
  134.         mort.points_de_vie = self.stamina_max
  135.         print(
  136.             "le joueur {0} revient à la vie avec {2} points de vie et toute sa stamina ! (il peut remercier {1}!)\nle joueur {1} ne possede plus de potion de vie".format(
  137.                 mort.nom, self.nom, mort.points_de_vie))
  138.         self.potion_de_vie = False
  139.     elif self.espece != "mage":
  140.         print(
  141.             "seul les mages peuvent faire revivre ou alors vous pouvez en trouver en vous baladans dans la foret")
  142.     else:
  143.         print("vous ne pouvez utiliser qu'une seul fois votre potion de vie")
  144.  
  145. def info(self):
  146.     if self.potion_de_vie:
  147.         stamina = 1
  148.     else:
  149.         stamina = 0
  150.     print(
  151.         "le joueur {0} est un {1} et il possede:\n{2} points de vie \n{3} points d'attaque\n{4} de stamina\n{5} potion de vie\nil est de l'equipe{6}".format(
  152.             self.nom, self.espece, self.points_de_vie, self.stamina, self.points_attaque, stamina, self.equipe))
  153.  
  154. def balade(self):
  155.     if self.coucher:
  156.         print("le joueur {0} dort encore il ne peux pas se balader".format(self.nom))
  157.         return
  158.     if self.espece == "mage":
  159.         if self.potion_de_vie and random.randint(0, 1):
  160.             self.points_de_vie = False
  161.             print(
  162.                 "vous vous trouvez face à un loup vous vous enfuyez mais dans votre fuite vous faites tomber votre potion de vie")
  163.  
  164.     if random.randint(0, 1):
  165.         gouter = input(
  166.             "Oh ! on dirais bien qu'un mage qui passait par là a fait tomber une potion voulez vous la gouter ? (o/n)")
  167.         if gouter == "o":
  168.             if random.randint(0, 1):
  169.                 self.points_de_vie -= 75
  170.                 if self.points_de_vie < 0: self.points_de_vie = 0
  171.                 print("cette potion etait un poison ! vous perdez 75 hp vous en avez maintenant {0}".format(
  172.                     self.points_de_vie))
  173.                 self.inlife()
  174.             else:
  175.                 print(
  176.                     "wouaw vous venez de trouver une potion de vie vous pouvez maintenant faire revivre un joueur tel un mage !")
  177.                 self.potion_de_vie = True

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.