在do-while循环中同时检查两个条件

时间:2012-09-13 08:40:11

标签: c++ do-while

在tic-tac脚趾代码中,我有一个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));

我确实尝试了这个,但它只是搞砸了代码。我怎么可能在游戏中找到平局?

由于

2 个答案:

答案 0 :(得分: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)));

答案 1 :(得分: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)));