From 580f670dd7bea442c8f478ef2f2efa4c9974c47f Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@ucc.asn.au>
Date: Thu, 9 Sep 2010 16:15:44 +0800
Subject: [PATCH] option to cap number of agents

---
 src/uccProgComp.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/uccProgComp.py b/src/uccProgComp.py
index 9f256fd..e3080bb 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.
-- 
GitLab