示例#1
0
文件: ROTA.py 项目: Qu-CMU/public
## Play the game
    
if __name__ == '__main__':
    player = GameState()
    state = new_game()
    numMoves = 0
    numGames = 0
    startTime = time.time()

    ## Play games until hash recieved (challenge requires 50 games)
    while True:
        print('Game Number: {0}'.format(numGames))
        print('Time Elapsed: {0:3f}'.format(time.time() - startTime))

        ## Make moves until game is over (games requires you make 30 moves without losing.)
        while numMoves < 30:
    ##        print(str(state[0]) + str(state[1]) + str(state[2]))
    ##        print(str(state[3]) + str(state[4]) + str(state[5]))
    ##        print(str(state[6]) + str(state[7]) + str(state[8]))
    ##        print('\n')
            
            moveInfo = player.get_next_move(state)

            if len(moveInfo) == 1:
                state = place(moveInfo[0])
            else:
                numMoves, state = move(moveInfo[0], moveInfo[1])
        
        numGames, state = next_game()
        numMoves = 0
示例#2
0
## We have the GameState play against itself.
## Since it is a FSM designed to never reach a terminal state, the games should go on indefinitely.
## GameState() will ramdomly select a path given multiple possible moves allowing for complete path coverage eventually.
testPlayer = GameState()

## Run 100 games
for i in range(100):
    state = list('---------')

    ##    print("%c%c%c" %(state[0],state[1],state[2]))
    ##    print("%c%c%c" %(state[3],state[4],state[5]))
    ##    print("%c%c%c\n" %(state[6],state[7],state[8]))

    ## Play 100 moves
    for _ in range(100):
        update = testPlayer.get_next_move(state, player=1)

        if len(update) == 1:
            state[update[0] - 1] = 'p'
        else:
            state[update[0] - 1] = '-'
            state[update[1] - 1] = 'p'

##        print("Player 1")
##        print("%c%c%c" %(state[0],state[1],state[2]))
##        print("%c%c%c" %(state[3],state[4],state[5]))
##        print("%c%c%c\n" %(state[6],state[7],state[8]))

        update = testPlayer.get_next_move(state, player=-1)

        if len(update) == 1: