diff --git a/agents/vixen/vixen.py b/agents/vixen/vixen.py index 975f6a79420033bec910c8c02eecd2d4f5f9e8bc..a4010b1d12665b80a0f37cd2cd514bc446babd0e 100755 --- a/agents/vixen/vixen.py +++ b/agents/vixen/vixen.py @@ -61,7 +61,7 @@ class Vixen(BasicAI): moveList.append({"unit":unit, "direction":bestScore[0], "score":bestScore[1]}) - if len(moveList) == 0: + if len(moveList) <= 0: print "NO_MOVE" return True @@ -86,7 +86,8 @@ class Vixen(BasicAI): def CalculateScore(self, attacker, defender, path): p = move(attacker.x, attacker.y, path[0], 1) - + if p[0] < 0 or p[0] >= len(self.board) or p[1] < 0 or p[1] >= len(self.board[p[0]]): + return -100.0 total = 0.0 count = 0.0 diff --git a/judge/simulator/simulate.py b/judge/simulator/simulate.py index 5daafb7dde7182899d54eb6462fdeb075485930d..72356248527bb7da9142bf5cfc4e1c6117f0d8e6 100755 --- a/judge/simulator/simulate.py +++ b/judge/simulator/simulate.py @@ -221,13 +221,16 @@ for roundNumber in range(totalRounds, totalRounds + nRounds): for blue in agents: #against each other agent, playing as blue if red == blue: continue #Exclude battles against self - gameNumber += 1 - gameID = str(roundNumber) + "." + str(gameNumber) + + for i in range(1, nGames/2 + 1): + gameNumber += 1 + gameID = str(roundNumber) + "." + str(gameNumber) #Play a game and read the result. Note the game is logged to a file based on the agent's names if verbose: sys.stdout.write("Agents: \""+red["name"]+"\" and \""+blue["name"]+"\" playing game (ID: " + gameID + ") ... ") 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)] outline = os.popen(managerPath + " -o " + logFile + " -T " + str(timeoutValue) + " " + red["path"] + " " + blue["path"], "r").read() results = outline.split(' ')