大家好我正在为tic-tac-toe建立一个C程序 我找到最好的举动有问题
但我发现难以检查我的获胜机会。
当我将X
check
方法放在chance
方法后,1
变量增加X
。
但是当我改变我的chance
位置以计算另一个机会时,预先计算的函数(即X
产生的char a[3][3];
int check(void)
{
char op='X';
int e,w,p=0;
int i=0,j;
for(w=0;w<3;w++)
{
for(e=0;e<3;e++)
{
if(a[w][e]=='_')
{
a[w][e]=op;
pri();
i=0;
for(j=0;j<3;j++)
{
if(a[i][j]==op && a[i+1][j]==op && a[i+2][j]==op)
{
chance++; a[w][e]='_';
}
}
j=0;
for(i=0;i<3;i++)
{
if(a[i][j]==op && a[i][j+1]==op && a[i][j+2]==op)
{
chance++; a[w][e]='_'; r
}
}
if(a[0][0]==op && a[1][1]==op && a[2][2]==op)
{
chance++; a[w][e]='_';
}
else if(a[0][2]==op && a[1][1]==op && a[2][0]==op)
{
chance++; a[w][e]='_';
}
a[w][e]='_';
}
}
}
}
放在首发位置)
这是我的代码示例:
{{1}}
答案 0 :(得分:2)
看起来chance
是一个全局变量,因此即使在函数返回后它也会保留其值。您可以通过将chance = 0
添加到函数的开头来重置其值。