From bde6a9634c116c190cb631e962ccda551503a5c5 Mon Sep 17 00:00:00 2001
From: Luke Williams <shmookey@ucc.gu.uwa.edu.au>
Date: Mon, 28 Jun 2010 17:41:50 +0800
Subject: [PATCH] Pulling out magic numbers into conf.py.

---
 src/conf.py        | 39 +++++++++++++++++++++++++++++++++++++++
 src/simulate.py    | 19 ++++++++-----------
 src/uccProgComp.py | 17 +----------------
 3 files changed, 48 insertions(+), 27 deletions(-)
 create mode 100644 src/conf.py

diff --git a/src/conf.py b/src/conf.py
new file mode 100644
index 0000000..8ffbb2f
--- /dev/null
+++ b/src/conf.py
@@ -0,0 +1,39 @@
+''' Configuration settings for the RPS simulator. '''
+
+from rpsconst import *
+
+# Enable for verbose output.
+VERBOSE = True
+
+# Enable for even more verbose output.
+DEBUG = True
+
+# How many iterations to run before quitting.
+MAX_ITERATIONS = 150
+
+# How many of each agent to create initially.
+STARTING_POPULATION = 10
+
+# ???
+TRIALS = 1
+
+# How much health to give each agent on birth.
+DEFAULT_HEALTH = 50
+
+# How much health at which an agent can reproduce.
+REPRODUCE_HEALTH = 100
+
+# How much health at which an agent dies.
+DIE_HEALTH = 0
+
+# The age at which to kill any agent.
+MAX_AGE = 100
+
+# Game dynamics - these are not final:
+#                WINNER          TRUTH          ATTPoints, DEFPoints
+pointsTable     [Attacker]      [False] =       (2, -2)
+pointsTable     [Attacker]      [True]  =       (2, -2)
+pointsTable     [Defender]      [False] =       (-2, 2)
+pointsTable     [Defender]      [True]  =       (-2, 2)
+pointsTable     [Tie]           [False] =       (0, 0)
+pointsTable     [Tie]           [True]  =       (1, 1)
diff --git a/src/simulate.py b/src/simulate.py
index 1a38656..d3afdf9 100755
--- a/src/simulate.py
+++ b/src/simulate.py
@@ -6,22 +6,19 @@ Licensed under an MIT-style license: see the LICENSE file for details.
 '''
 
 # Import and add your agents here:
-from link.C.c_agents import c_angel, c_lucifer, c_streetfighter, c_frenchie
+#from link.C.c_agents import c_angel, c_lucifer, c_streetfighter, c_frenchie
 
 from SampleAgents import Angel, Lucifer, Dummy, Frenchie, Streetfighter
-Agents =  [c_angel,c_lucifer,c_streetfighter,c_frenchie]
+Agents =  [Angel,Lucifer,Streetfighter,Frenchie]
 
 ####################################
 # Developers only past this point! #
 ####################################
 
 import sys
+from conf import *
 from uccProgComp import Supervisor
 
-maxIterations = 150
-startingPopulations = 10
-verbose = False
-trials = 1
 usage = "Usage: rps [-v] [-i iterations=150] [-n starting_populations=10] [-t trials=1]"
 for i in range (1,len(sys.argv)):
 	if sys.argv[i] == "-i":
@@ -50,23 +47,23 @@ for i in range (1,len(sys.argv)):
 			sys.exit(1)
 
 	elif sys.argv[i] == "-v":
-		verbose = True
+		VERBOSE = True
 
 
 iteration = 0
 trial = 0
 winners = {}
-while trial < trials:
+while trial < TRIALS:
 	sup = Supervisor ()
 	for Agent in Agents: sup.RegisterAgent (Agent)
-	sup.GeneratePopulation (startingPopulations)
+	sup.GeneratePopulation (STARTING_POPULATION)
 
 	trial += 1
 	iteration = 0
-	while iteration < maxIterations and not sup.IsGameOver ():
+	while iteration < MAX_ITERATIONS and not sup.IsGameOver ():
 		iteration += 1
 		sup.Iterate ()
-		if not verbose: continue
+		if not VERBOSE: continue
 		print "Iteration %d:" % iteration
 		for key, value in sup.GetStats ().iteritems():
 			print "%s: Population=%d, Newborns=%d, Deaths=%d" % (key, value[0], value[1], value[2])
diff --git a/src/uccProgComp.py b/src/uccProgComp.py
index c5f22e0..9f256fd 100644
--- a/src/uccProgComp.py
+++ b/src/uccProgComp.py
@@ -10,22 +10,7 @@ import random, uuid
 random.seed ()
 
 from rpsconst import *
-
-DEFAULT_HEALTH = 50
-REPRODUCE_HEALTH = 100
-DIE_HEALTH = 0
-MAX_AGE = 100
-
-DEBUG = True
-
-# Game dynamics - these are not final:
-#		 WINNER		 TRUTH		ATTPoints, DEFPoints
-pointsTable 	[Attacker]	[False] = 	(2, -2)
-pointsTable	[Attacker]	[True]  =	(2, -2)
-pointsTable	[Defender]	[False] =	(-2, 2)
-pointsTable	[Defender]	[True]  =	(-2, 2)
-pointsTable	[Tie]		[False] =	(0, 0)
-pointsTable	[Tie]		[True]  =	(1, 1)
+from conf import *
 
 def Debug (f):
 	def g (*args):
-- 
GitLab