def play(): req = json.load(request.body) print(req) state = req['current_state'] board_array = state['game_board'] board_array[req['move']] = 1 if state['to_play'] == 'player1' else -1 to_play_id = -state['to_play_id'] new_game_state = GameState(board_array, to_play_id) to_play = 'player2' if state['to_play'] == 'player1' else 'player1' rv = { 'player1': state['player1'], 'player2': state['player2'], 'game_board': new_game_state.board, 'endgame': new_game_state.isEndGame, 'to_play': to_play, 'legal_moves': new_game_state._allowedActions(), 'to_play_id': to_play_id } if rv[to_play] == 'assisted': _, preds, moves = ai_player.get_preds(new_game_state) print(preds) print(list(np.argpartition(preds, -3)[-3:])) rv['legal_moves'] = list(np.argpartition(preds, -3)[-3:]) return json.dumps(rv)
def get_computer_move(): state = json.load(request.body) print(state) board_array = state['game_board'] to_play_id = state['to_play_id'] current_state = GameState(board_array, to_play_id) _, preds, moves = ai_player.get_preds(current_state) computer_move = np.argmax(preds) board_array[computer_move] = to_play_id new_game_state = GameState(board_array, -to_play_id) to_play = 'player2' if state['to_play'] == 'player1' else 'player1' rv = { 'player1': state['player1'], 'player2': state['player2'], 'game_board': new_game_state.board, 'endgame': new_game_state.isEndGame, 'to_play': to_play, 'legal_moves': new_game_state._allowedActions(), 'to_play_id': -to_play_id } if rv[to_play] == 'assisted': _, preds, moves = ai_player.get_preds(new_game_state) print(preds) print(list(np.argpartition(preds, -3)[-3:])) rv['legal_moves'] = list(np.argpartition(preds, -3)[-3:]) return json.dumps(rv)
def new_game(player1, player2): '''Handles name listing''' response.headers['Content-Type'] = 'application/json' response.headers['Cache-Control'] = 'no-cache' new_game_board_array = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] new_game_state = GameState(new_game_board_array, 1) rv = { 'player1': player1, 'player2': player2, 'game_board': new_game_state.board, 'to_play': 'player1', 'legal_moves': new_game_state._allowedActions() } if player1 == 'assisted': _, preds, moves = ai_player.get_preds(new_game_state) rv['legal_moves'] = list(np.argpartition(preds, -3)[-3:]) return json.dumps(rv)