# -*- coding: utf-8 -*-
"""
Created on Thu Sep 15 16:45:14 2022

@author: physalp
"""

from random import randint

class Pokemon:
    def __init__(self,nom,niveau,points_vie,attaque,defense):
        """Contructeur"""
        self.__nom=nom
        self.niveau=niveau
        self.__points_vie=points_vie
        self.attaque=attaque
        self.defense=defense

    
    def get_points_vie(self):
        """accesseur ou getter qui permet de récupérer la valeur de l'attribut points_vie"""
        return self.__points_vie
    
    def set_points_vie(self,nouvelle_valeur):
        """mutateur ou setter qui permet de modifier la valeur de l'attribut points_vie"""
        self.__points_vie=int(nouvelle_valeur)
        
    def __str__(self):
        return( self.__nom + " PV:" + str(self.__points_vie))
        
        
        
    def est_en_vie(self):
        """Cette fonction renvoie True si le Pokemon est en vie et False si il est mort"""
        if self.get_points_vie() > 0:
            return True
        else:
            return False
        
    def attaquer(self):
        """effectue un tirage aléatoire et renvoie la puissance d'une attaque"""
        pourcentage = (randint(0,100)/100)
        attaque = self.attaque * pourcentage
        return attaque
    
    
    def defendre(self):
        """effectue un tirage aléatoire et renvoie la valeur de l'armure"""
        pourcentage = (randint(0,100)/100)
        armure = self.defense * pourcentage
        return armure
    


class Arene:
    
    def __init__(self,pokemon1,pokemon2):
        self.pokemon1=pokemon1
        self.pokemon2=pokemon2
    
    def fin(self):
        """Renvoie True si l'un des deux pokemon n'est plus en vie"""
        return not(self.pokemon1.est_en_vie() and self.pokemon2.est_en_vie())
    
    def jouer_tour(self,attaquant,defenseur):
        """modifie les points de vie du défenseur"""
        attaque=attaquant.attaquer()
        defense=defenseur.defendre()
        if attaque-defense>0:
            defenseur.set_points_vie(attaque-defense)
            


player1=Pokemon("dracaufeu",100,232,74,20)
player2=Pokemon("tortank",100,132,90,30)


bataille=Arene(player1,player2)

print(player1,player2)

bataille.jouer_tour(player1,player2)
print(player1,player2)
