我有一个任务是做一个 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