Oh god, I was assuming scores were integers
[progcomp2012.git] / judge / simulator / simulate.py
index b055945..7664a2c 100755 (executable)
@@ -51,7 +51,7 @@ if len(sys.argv) >= 5:
 
 
 #Score dictionary - Tuple is of the form: (end score, other score, other result) where end is the player on whose turn the result occurs, other is the other player, other result indicates what to record the outcome as for the other player.
 
 
 #Score dictionary - Tuple is of the form: (end score, other score, other result) where end is the player on whose turn the result occurs, other is the other player, other result indicates what to record the outcome as for the other player.
-scores = {"VICTORY":(3,1, "DEFEAT"), "DEFEAT":(1,3, "VICTORY"), "SURRENDER":(0,3, "VICTORY"), "DRAW":(2,2, "DRAW"), "DRAW_DEFAULT":(1,1, "DRAW_DEFAULT"), "ILLEGAL":(-1,2, "DEFAULT"), "DEFAULT":(2,-1, "ILLEGAL"), "BOTH_ILLEGAL":(-1,-1, "BOTH_ILLEGAL"), "INTERNAL_ERROR":(0,0, "INTERNAL_ERROR"), "BAD_SETUP":(0,0,"BAD_SETUP")}
+scores = {"VICTORY":(0.3,0.1, "DEFEAT"), "DEFEAT":(0.1,0.3, "VICTORY"), "SURRENDER":(0,0.3, "VICTORY"), "DRAW":(0.2,0.2, "DRAW"), "DRAW_DEFAULT":(0.1,0.1, "DRAW_DEFAULT"), "ILLEGAL":(-0.1,0.2, "DEFAULT"), "DEFAULT":(0.2,-0.1, "ILLEGAL"), "BOTH_ILLEGAL":(-0.1,-0.1, "BOTH_ILLEGAL"), "INTERNAL_ERROR":(0,0, "INTERNAL_ERROR"), "BAD_SETUP":(0,0,"BAD_SETUP")}
 
 
 #Verbose - print lots of useless stuff about what you are doing (kind of like matches talking on irc...)
 
 
 #Verbose - print lots of useless stuff about what you are doing (kind of like matches talking on irc...)
@@ -206,7 +206,7 @@ for agent in agents:
                                agentFile.write(line)
                                line = oldFile.readline()
                                values = line.split(' ')
                                agentFile.write(line)
                                line = oldFile.readline()
                                values = line.split(' ')
-                               agent["totalScore"] += int(values[2].strip())
+                               agent["totalScore"] += float(values[2].strip())
                                agent["Wins"] += int(values[5].strip())
                                agent["Losses"] += int(values[8].strip())
                                agent["Draws"] += int(values[11].strip())
                                agent["Wins"] += int(values[5].strip())
                                agent["Losses"] += int(values[8].strip())
                                agent["Draws"] += int(values[11].strip())
@@ -258,7 +258,8 @@ for roundNumber in range(totalRounds, totalRounds + nRounds):
                                logFile = logDirectory + "round"+str(roundNumber) + "/"+red["name"]+".vs."+blue["name"]+"."+str(gameID)
                                errorLog = [logDirectory + "error/" + red["name"] + "."+str(gameID), logDirectory + "error/" + blue["name"] + "."+str(gameID)]
                                #Run the game, outputting to logFile; stderr of (both) AI programs is directed to logFile.stderr
                                logFile = logDirectory + "round"+str(roundNumber) + "/"+red["name"]+".vs."+blue["name"]+"."+str(gameID)
                                errorLog = [logDirectory + "error/" + red["name"] + "."+str(gameID), logDirectory + "error/" + blue["name"] + "."+str(gameID)]
                                #Run the game, outputting to logFile; stderr of (both) AI programs is directed to logFile.stderr
-                               outline = os.popen(managerPath + " -o " + logFile + " -T " + str(timeoutValue) + " \"" + red["path"] + "\" \"" + blue["path"] + "\" 2>> " + logFile+".stderr", "r").read()
+                               outline = os.popen(managerPath + " -m 1000 -o " + logFile + " -T " + str(timeoutValue) + " \"" + red["path"] + "\" \"" + blue["path"] + "\" 2>> " + logFile+".stderr", "r").read()
+                               
                                #os.system("mv tmp.mp4 " + logFile + ".mp4")
                                
                                #If there were no errors, get rid of the stderr file
                                #os.system("mv tmp.mp4 " + logFile + ".mp4")
                                
                                #If there were no errors, get rid of the stderr file

UCC git Repository :: git.ucc.asn.au