0

我有一个任务是做一个 N by N tic tac toe,你输了就赢了,它有一个倒带机制(回退奇数圈)。我尝试使用 2 x N 来实现倒带机制平方矩阵,但它不起作用——它“从一开始”就删除了东西,并通知我“核心转储”。这是我修改后的代码(修复了一个不同的问题) - 我很想知道一些关于如何解决这个问题的提示。

int undo_most_recent(char board[N][N], int n, int log[N * N][2], int* p_of_m, int i)
{
    if ( (i % 2 == 0) && (*p_of_m + i <= 0))
    {
        print_error();
        return(Error);
    }
    while ((*p_of_m > 0) && (i < 0))
    {
        board[(log[*p_of_m][0])][(log[*p_of_m][1])] = '_';
        log[*p_of_m][0] = 0;
        log[*p_of_m][1] = 0;
        (*p_of_m)--;
        i++;
        printf(" p_of_m is: %d", *p_of_m);
    }
    print_board(board, n);
    return(Success);
}

这是整个代码的链接 - https://pastebin.com/qGHbWB56

4

0 回答 0