You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.2 KiB

# coding=utf-8
from random import randint, choice
from personnage import Personnage
from interface import *
from base_de_donnee import *
def combat(perso1, perso2):
"""simule un combat jusqu'à ce que les joueurs n'aient plus de vies"""
cls()
input("Pressez Entrée pour combattre...")
cls()
attaquant = perso1
defenseur = perso2
while perso1.pdv > 0 and perso2.pdv > 0:
perso1_anciens_pdv = perso1.pdv
perso2_anciens_pdv = perso2.pdv
if attaquant.jet_attaque() > defenseur.jet_defense():
defenseur.change_pdv(-randint(1,8))
elif attaquant.jet_attaque() < defenseur.jet_defense():
attaquant.change_pdv(-randint(1,4))
#perso1.affiche_caracteristiques()
#perso2.affiche_caracteristiques()
cls()
print("Vous avez\033[36m",perso1.pdv,"\033[0mpoints de vie", end=" ")
diff = perso1.pdv - perso1_anciens_pdv
if diff < 0:
color = 31
else:
color = 39
print("(\033["+str(color)+"m"+str(diff)+"\033[0m points)")
print("Votre ennemi a\033[36m",perso2.pdv,"\033[0mpoints de vie", end=" ")
diff = perso2.pdv - perso2_anciens_pdv
if diff < 0:
color = 32
else:
color = 39
print("(\033["+str(color)+"m"+str(diff)+"\033[0m points)\n")
input("[Entrée]")
attaquant, defenseur = defenseur , attaquant
#changement de l'exp
if perso1.pdv > 0:
perso1.change_exp(1)
else:
perso2.change_exp(1)
def main():
"""programme principal"""
intro_bool = input("Voulez-vous l'intro longue ou courte ? (longue/courte) : ")
if intro_bool == "longue":
(nomJoueur1, catJoueur1) = intro_longue()
else:
(nomJoueur1, catJoueur1) = intro_courte()
# 2v ne fonctionnent plus -- ajouter nom base
joueur1 = Personnage(nomJoueur1, catJoueur1)
joueur2 = Personnage("ennemi", choice(["guerrier","magicien","voleur","elfe"]))
#le combat !
combat(joueur1, joueur2)
#affichage des résultats
if joueur1.exp > joueur2.exp:
youWon(joueur1.nom)
else:
gameOver()
if __name__ == "__main__":
main()