我是新手程序员,所以请礼貌。
我正在尝试编写一个简单的终端步步高游戏,只是为了好玩,但我有一个问题。
整个游戏都在一个循环中运行,只要没有人将所有的砖块移动到棋盘的末端,它就会继续运行。 一个简单的整数控制着黑人或白人扮演的角色。
我写了一个函数来检查是否有任何可能的动作,因为我想编程跳过转弯,以防绝对不能进行任何动作。
好吧,我希望这个函数运行,如果它返回false(没有可能的移动),那么我希望其余的代码跳过并将转向更改为下一个玩家。例如,如果骰子组合没有给出黑色的可能移动,那么我希望程序跳过黑色并转到白色。
所以我想打破while循环的其余部分,但让它继续运行。
解释这个问题对我来说有点复杂,但我希望你们能理解。
非常感谢 - 马丁
答案 0 :(得分:4)
听起来你想使用continue
:
while (someCondition)
{
doSomething();
if (someOtherCondition)
continue;
doSomethingElse();
}
在此示例中,如果someOtherCondition
为true,则continue
语句将使程序跳回到循环的顶部,而不是继续执行以下语句。如果someOtherCondition
为false,则doSomethingElse()
将正常运行。
答案 1 :(得分:1)
我认为这大致是你想知道的。 希望它有所帮助。
while( keepRunning )
{
bool noPossibleMoves = checkForPossibleMoves();
setup for each loop iteration
Do things here that are always necessary.
if( noPossibleMoves )
{
continue; // This will go to the top of the while loop
}
wait for user input etc...
...
...
}