python自动下棋 5子棋根据我所给代码继续编写

    def generate_next_pos(chess_board):
    '''
    根据当前的棋盘信息,计算下一步的落子位置,并返回行号和列号构成的元组
    :param chess_board: 类型就是ChessBoard
    :return: 坐标元组,如果返回位置非法,直接就判输了,所以要小心,最好是要自己判断的
    '''
    # 下面的代码都可以改掉,最终是要返回一个 坐标元组
    n = len(chess_board.ChessBoardArr)
    while True:
            try:
                    x, y = map(int, input(f'请输入行号和列号,范围都是[0,{n}],用空格分隔').split())
                    while not (0<=x<n and 0<=y<n) or chess_board.ChessBoardArr[x][y]:
                            print('范围不对,请重新输入')
                            x, y = input(f'请输入行号和列号,范围都是[0,{n}],用空格分隔')
                    return x, y
            except:
                    print('输入格式不规范,请重新输入')
                    continue

根据以上代码编写自动下棋代码