Пример #1
0
def runExperiment(aiTypes, n):
	j = 0
	while j < n:
		aiPlayers = []
		stats = []
		for t in aiTypes:
		 	aiPlayers.append(ggai.constructParty())
		 	if t[0][0] == 'd':
		 		ai = ggai.AIOpponent(t[1], t[2])
		 	elif t[0][0] == 'n':
		 		ai = ggai.AIOpponent_nondeterministic(t[1], t[2])
		 	aiPlayers[-1].trust = [0]*len(aiTypes)
		 	aiPlayers[-1].assignAI(ai)
		winner = runGame(aiPlayers)
		if winner != 'time up':
			if winner == 'tie':
				stats.append('tie')
				j += 1
				continue
			at = 'd' if isinstance(winner, ggai.AIOpponent) else 'n'
			stats.append({'type': at, 'attack_metric': winner.ai_control.attack_metric, 'defend_metric': winner.ai_control.defend_metric})
			j += 1
	return stats
Пример #2
0
    event = pygame.event.poll()

    if event.type == pygame.QUIT:
        running = 0
    else:
        screen.fill((227, 237, 216))

        # [SCENE] Create Party
        if current_scene == CREATE_PARTY:
            partyScene.update(event)
            partyScene.render(screen)

            huPlayer = partyScene.isFinished()
            aiPlayers = []
            for i in range(NUM_AI_PLAYERS):
                aiPlayers.append(ggai.constructParty())
                aiPlayers[i].trust = [0] * (NUM_AI_PLAYERS + 1)
                aiPlayers[i].assignAI(ggai.AIOpponent(ggai.metric_distance, ggai.metric_threat))
                # huParty.party_members[x].chartype gives element type
                # '' .rotation gives element angle
                # huParty.party_position[x]
                # CharacterSprite class in ggparty has this info
            if huPlayer != -1:
                huPlayer.trust = [0] * (NUM_AI_PLAYERS + 1)
                switchToScene(GAME_GRID)
                mapScene.addPartyToMap(huPlayer, ggparty.UP, starts[0][0], starts[0][1])
                huPlayer.grid_color = ggparty.BLUE
                huPlayer.maxHealth()
                for i in range(NUM_AI_PLAYERS):
                    mapScene.addPartyToMap(aiPlayers[i], ggparty.UP, starts[i + 1][0], starts[i + 1][1])
                    aiPlayers[i].grid_color = ggparty.RED