diff --git a/src/uccProgComp.py b/src/uccProgComp.py index 9f256fd9752fae6f8d1a4554dfedc3d791fd2908..e3080bbb964f3a4127c2ea0cb31926ccfdd06b78 100644 --- a/src/uccProgComp.py +++ b/src/uccProgComp.py @@ -153,12 +153,13 @@ class Supervisor: @Debug def SpawnAgent (self, agent): - child = agent.__class__ () - self.population.append (child) - agent.Reproduced () - stat = self.agentStats [str(agent.__class__)] - stat [0] += 1 - stat [1] += 1 + if MAX_TOTAL_AGENTS > 0 and len(self.population) - len(self.pendingDeaths) < MAX_TOTAL_AGENTS: + child = agent.__class__ () + self.population.append (child) + agent.Reproduced () + stat = self.agentStats [str(agent.__class__)] + stat [0] += 1 + stat [1] += 1 def Select (self): # This approach causes agents to keep fighting until they've either died or reproduced.