def play_one_step(self): N = 5 piece_type, previous_board, board = readInput(N) go = GO(N) go.set_board(piece_type, previous_board, board) action = self.get_input(go, piece_type) writeOutput(action)
def get_input(self, go, piece_type): ''' Get one input. :param go: Go instance. :param piece_type: 1('X') or 2('O'). :return: (row, column) coordinate of input. ''' possible_placements = [] for i in range(go.size): for j in range(go.size): if go.valid_place_check(i, j, piece_type, test_check=True): possible_placements.append((i, j)) if not possible_placements: return "PASS" else: action = random.choice(possible_placements) x, y = action writeOutput(action) return action
line = f.read(2) f.close() win = int(line[0]) side = int(line[1]) if win == 0: result = 1 elif win == side: result = 2 else: result = 0 player = QLearner(side=side) player.read() player.update(result) player.save(1) else: """ Get current state and piece_type. Move (action) """ N = 5 piece_type, previous_board, board = readInput(N) go = GO(N) go.set_board(piece_type, previous_board, board) curr_state = ''.join( [str(board[i][j]) for i in range(N) for j in range(N)]) player = QLearner(side=piece_type) player.read() action = player.get_input(go, curr_state) writeOutput(action) player.save(0)