0

在井字游戏代码中,我有一个 do-while 循环来检查其中一名玩家是否赢了......所以,像这样

do{
//does some player's input and other things..
}while(!win(x));

现在,最大的问题是在这个循环中,它将继续循环,直到其中一名玩家获胜。现在,我如何使用相同的 do-while 循环检查平局?

我可以做这样的事情吗:

do{
 //still the same checking
}while(!win(x)||!loose(x));

我确实尝试过,但它只是弄乱了代码。我怎么可能在游戏中检查平局?

谢谢

4

2 回答 2

2

您的逻辑略有偏差 - 将循环条件更改为:

do{
 //still the same checking
}while(!win(x)||!loose(x));

至:

do{
 //still the same checking
}while(!win(x)&&!loose(x));

或者也许是更容易理解但等效的替代方案:

do{
 //still the same checking
}while(!(win(x)||loose(x)));
于 2012-09-13T08:45:50.277 回答
0

当你写作时:

!win(x)||!loose(x)

您说未赢或未输,循环将在第一次结束时终止。您可以使用以下内容:

do{
    //still the same checking
} while (!win(x)&&!loose(x));

或者

do{
    //still the same checking
} while (!(win(x)||loose(x)));   
于 2012-09-13T09:02:31.257 回答