在循环c ++ Windows时中断并重新运行

时间:2012-02-03 18:48:22

标签: c++ while-loop break

我是新手程序员,所以请礼貌。

我正在尝试编写一个简单的终端步步高游戏,只是为了好玩,但我有一个问题。

整个游戏都在一个循环中运行,只要没有人将所有的砖块移动到棋盘的末端,它就会继续运行。 一个简单的整数控制着黑人或白人扮演的角色。

我写了一个函数来检查是否有任何可能的动作,因为我想编程跳过转弯,以防绝对不能进行任何动作。

好吧,我希望这个函数运行,如果它返回false(没有可能的移动),那么我希望其余的代码跳过并将转向更改为下一个玩家。例如,如果骰子组合没有给出黑色的可能移动,那么我希望程序跳过黑色并转到白色。

所以我想打破while循环的其余部分,但让它继续运行。

解释这个问题对我来说有点复杂,但我希望你们能理解。

非常感谢 - 马丁

2 个答案:

答案 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...
    ... 
    ...
}