some things work
This commit is contained in:
@@ -12,29 +12,33 @@ class AutoProductionAgent(BaseAgent):
|
||||
self.worker=worker
|
||||
self.employment_rate=employment_rate
|
||||
self.employment_index=worker
|
||||
self.target=0
|
||||
|
||||
def set_worker(self,workers):
|
||||
if workers>1:
|
||||
self.worker=workers
|
||||
else:
|
||||
self.worker=1
|
||||
|
||||
def set_target(self,qty):
|
||||
self.target=qty
|
||||
def can_produce(self):
|
||||
# If can produce item
|
||||
for k,cost in self.prod["craft"].items():
|
||||
if cost > self.business.inventory[k]:
|
||||
return False
|
||||
for com in self.prod["prod"]:
|
||||
for k,v in com.items():
|
||||
if v > self.business.inventory[k]:
|
||||
return False
|
||||
# check if we should produce
|
||||
if self.business.resource_in_possesion()>self.target:
|
||||
return False
|
||||
return True
|
||||
|
||||
def tick(self,step,epi):
|
||||
for i in range(self.worker):
|
||||
if not self.can_produce():
|
||||
self.employment_index-=self.employment_rate
|
||||
continue
|
||||
self.employment_index+=self.employment_rate
|
||||
self.set_worker(int(self.employment_index))
|
||||
# remove cost from inventory
|
||||
for k,cost in self.prod["craft"].items():
|
||||
self.business.inventory[k]-=cost
|
||||
for com in self.prod["prod"]:
|
||||
for k,cost in com.items():
|
||||
self.business.inventory[k]-=cost
|
||||
# add commodity
|
||||
self.business.inventory[self.prod['name']]+=self.prod["amount"]
|
||||
|
||||
Reference in New Issue
Block a user