some things work

This commit is contained in:
2023-01-26 14:58:41 +01:00
parent be83cbd988
commit 966db6e5ad
24 changed files with 242 additions and 68 deletions

View File

@@ -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"]