【问题标题】:Break and rerun while loop c++ Windows中断并重新运行while循环c ++ Windows
【发布时间】:2012-02-26 09:06:00
【问题描述】:

我是菜鸟程序员,请客气。

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

整个游戏在一个 while 循环中运行,只要没有人将所有积木都移到棋盘的末端,它就会继续运行。 一个简单的整数控制着无论是黑人还是白人。

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

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

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

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

非常感谢 - 马丁

【问题讨论】:

  • 你能发布一些代码示例吗?

标签: c++ while-loop break


【解决方案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...
    ... 
    ...
}

【讨论】:

  • 也非常感谢,非常有帮助!
【解决方案2】:

听起来你想使用continue

while (someCondition)
{
  doSomething();

  if (someOtherCondition)
    continue;

  doSomethingElse();
}

在本例中,如果someOtherCondition 为真,continue 语句将导致程序跳回循环顶部,而不是继续执行以下语句。如果someOtherCondition 为假,doSomethingElse() 将正常运行。

【讨论】:

  • 非常感谢,这正是我所需要的 :D
猜你喜欢
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 2021-06-23
  • 1970-01-01
相关资源
最近更新 更多