Browse Source

Ajouter 'Combattre.Exe'

master
ViegoMaster 1 year ago
parent
commit
1ff48cf001
  1. 67
      Combattre.Exe

67
Combattre.Exe

@ -0,0 +1,67 @@
def combattre(self:'Personnage', adversaire:'Monstre') -> tuple:
"""
Effectue un combat entre le personnage et un monstre.
Parameters:
- self ('Personnage'): L'instance du personnage effectuant l'attaque.
- adversaire ('Monstre'): L'instance du monstre contre lequel le personnage se bat.
Returns:
- tuple: Un tuple contenant le code de résultat et la description du combat.
Code de Résultat :
- 'x': Le combat n'est pas encore terminé.
- 'MP': Les deux participants sont hors combat.
- 'P': Le personnage est hors combat.
- 'M': Le monstre est hors combat.
Description :
Le combat consiste en plusieurs étapes, où les scores de combat sont comparés, et des dégâts sont infligés en fonction du résultat.
Les participants peuvent également subir des dégâts critiques ou être hors combat.
"""
score_personnage = rd.randint(1, 6) + rd.randint(1, 6) + self.habilite
score_monstre = rd.randint(1, 6) + rd.randint(1, 6) + adversaire.habilite
result_code = 'x'
while result_code == 'x':
if score_personnage == score_monstre:
self.subir_degats(1)
adversaire.subir_degats(1)
result_code = "x"
result_desc = f"{self.nom} et {adversaire.nom} se blessent mutuellement."
time.sleep(1)
print(result_desc)
elif score_personnage > score_monstre:
adversaire.subir_degats(self.force)
result_code = "x"
result_desc = f"{self.nom} inflige {self.force} points de dégâts au {adversaire.nom}."
time.sleep(1)
print(result_desc)
else:
self.subir_degats(adversaire.force)
result_code = "x"
result_desc = f"{adversaire.nom} inflige {adversaire.force} points de dégâts au {self.nom}."
time.sleep(0.5)
print(result_desc)
if rd.randint(1, 6) == rd.randint(1, 6):
double_damage = self.force * 2
adversaire.subir_degats(double_damage)
result_desc += f" Coup critique ! {self.nom} inflige {double_damage} points de dégâts supplémentaires au {adversaire.nom}."
time.sleep(0.5)
print(result_desc)
elif self.est_hs() and adversaire.est_hs():
result_code = "MP"
result_desc = f"{self.nom} et {adversaire.nom} sont tous les deux hors combat."
time.sleep(0.5)
print(result_desc)
elif self.est_hs():
result_code = "P"
result_desc = f"{self.nom} est hors combat."
elif adversaire.est_hs():
result_code = "M"
result_desc = f"{adversaire.nom} est hors combat."
time.sleep(0.5)
print(result_desc)
return result_code, result_desc
Loading…
Cancel
Save