我做了一个tic tac toe游戏,我想检查是否' x'或者' o' o在整个列或一行中,游戏板是3X3矩阵
我写下了一个实现它的代码(列部分),但问题是循环只计算第一列
输出:
第一列被计算,x赢了。
注意:为了目的,它被指定为x。在输出中,为了测试目的,o在游戏的其余部分处于索引2,2处。
这是我的代码:
int win(char board[][COL])
{
int flag = 0;
int x = 0, o = 0;
int i = 0, j = 0;
for (i = 0; i < COL; i++) // this loop checks who won by fillin a column
{
if (board[i][j] == 'x')
{
x++;
}
if (x == COL)
{
flag = 1;
printf("x won!\n");
}
}
return flag;
}
答案 0 :(得分:0)
您只是在检查第一列。
int win(char board[][COL])
{
int flag = 0;
int x = 0, o = 0;
int i = 0, j = 0;
for(j = 0; j < 3 ; j++)
{
x=0;
for (i = 0; i < COL; i++) // this loop checks who won by fillin a column
{
if (board[i][j] == 'x')
{
x++;
}
if (x == COL)
{
flag = 1;
printf("x won!\n");
}
}
}
return flag;
}