Files
econ_emt/econ/business/Price_Believe_Business.py
2023-01-26 14:58:41 +01:00

32 lines
1.3 KiB
Python

from .base_business import Business
from ..agents.price_believe_aquire import Price_Believe_Aquire_Agent
from ..agents.price_believe_distribute import Price_Believe_Distribiute_Agent
from ..agents.autoproduction import AutoProductionAgent
class Price_Believe_Business(Business):
def __init__(self, id, production, balance,exchange,simulation) -> None:
super().__init__(id, production, balance)
self.distribute=Price_Believe_Distribiute_Agent(simulation,self,production["name"],exchange,0.5,10)
self.craft=AutoProductionAgent(simulation,self)
self.aquire={}
for l in production["prod"]:
for k,v in l.items():
a=Price_Believe_Aquire_Agent(simulation,self,k,exchange,1,10)
a.set_target(v*2)
a.set_price_max(10)
self.aquire[k]=a
self.distribute.set_price_min(10)
self.distribute.set_target(0)
def tick_business_decisions(self,step):
for comp in self.production["prod"]:
for k,v in comp.items():
modifier=self.craft.worker+1
self.aquire[k].set_target(v*modifier)
max_amount=self.production["amount"]*5
self.craft.set_target(max_amount)
def resource_in_possesion(self):
return self.distribute.open_qty+self.inventory[self.production["name"]]