Ejemplo n.º 1
0
def EvaluationTests(tests):
	players = ['X','O']
	for num, test in enumerate(tests):
		sim = simulation.Connect4Simulation(players, x=5, y=5, z=4)
		moves = test[0]
		expected = test[1]
		for move in moves:
			player = move[0]
			action = move[1]
			sim.addBlock(player, action)
		result = agents.betterEvaluationFunction(sim)
		if result != expected:
			print "EvaluationTests", str(num)," failed: Expected:", expected, " got:", result
Ejemplo n.º 2
0
def simulate(game, agent_list, simulation=False):
	moves = []
	numMoves = 0
	while not game.isOver:
		for agent in agent_list:
			if not game.getLegalActions():
				print "DRAW"
				game.displayBoard()
				return (moves, "Draw")
			action = None
			action = agent.getAction(game)
			numMoves += 1
			# print ("Action: ", action)
			game.addBlock(agent.id, action)
			# print "Eval", agents.betterEvaluationFunction(game)
			moves.append((agent.id, action, agents.betterEvaluationFunction(game), numMoves))
			if game.display:
				game.displayBoard()
			winner = game.returnWinner()
			if winner is not None:
				print "Player %s won!" % winner
				game.isOver = True
				if not simulation: game.displayBoard()
				return (moves, winner)