from parametres import Parametres
import random


class Agent_EV :

    def __init__(self,cash,prct_invest_emploi,salaire,prix) :
        self.cash = cash
        self.prct_invest_emploi = prct_invest_emploi
        self.salaire = salaire
        self.prix = prix
        self.biens = 0
    
    def convertir_heures_biens(self,parametres,total_heures) :
        production = 0
        if total_heures != 0 :
            production = parametres.a*total_heures
            self.biens += production
        else : 
            #print "Production de l'entreprise " + str(self) + "nulle car total_heures = 0."
            pass
        return production
    
    #Methode qui permet a une entreprise EV de proposer un prix unitaire indicatif :
    def proposer_prix(self,benefices,production,prix_precedent,parametres) :
        if production != 0 :
            #Prix unitaire des biens a l'iteration n calcule a partir des benefices de l'iteration n-1 et de la quantite de biens produits a l'iteration n :
            prix = (benefices/production)
            prix_propose = prix_precedent + (prix-prix_precedent) * parametres.gamma
        else :   
            prix_propose = None
            #print "Production de l'entreprise " + str(self) +" nulle donc prix_propose = None."
        return prix_propose
        
  
def obtenir_liste_agents_EV(parametres) :
    liste_agents_EV = []
    for a in range (0,int(parametres.nb_agents_EV)) :
        agent_EV = Agent_EV(parametres)
        liste_agents_EV.append(agent_EV)
    return liste_agents_EV


def obtenir_liste_cash_agents_EV(liste_agents_EV) :
    liste_cash_agents_EV = []
    for j in liste_agents_EV :
        liste_cash_agents_EV.append(j.cash)
    return liste_cash_agents_EV