如何摆脱无限循环?

时间:2016-02-09 18:01:51

标签: loops infinite-loop labview

我想在LabView中制作类似这样的游戏:memory game

但我陷入了无限循环,不知道如何离开。 这是我到目前为止:Block diagram

这是两个按钮的一段代码。在我看来,只有3种可能的情况(bt1和bt2是相同的按钮):

  1. bt1和bt2都被按下并且它们消失(照片的第一部分)
  2. 按下了两个按钮中的一个,但按下了另一个按钮,按钮又回到了初始颜色(照片的中间部分)
  3. 只按了两个按钮中的一个按钮,它是唯一按下的按钮,因此必须保持按下直到按下另一个按钮(照片的最后一部分)
  4. 'once'变量指示之前是否按下了另一个按钮(之前未按下0-;之前按下了1-)。

    正如您所看到的,在第二种情况和第三种情况之间发生无限循环。任何关于如何解决这个问题的建议都会非常有帮助。

    更新: 在中间部分,我删除了'once'接收值0的部分,以避免无限循环。 (在BT1和BT2设置为假之后)

1 个答案:

答案 0 :(得分:1)

它不起作用的原因如下:

  1. 按下按钮,循环3运行并设置一次为1
  2. 无动作:循环2运行并设置为零,即使未按下两个按钮也是如此。
  3. 根据while循环的速度,可能无法注意到更改。突出显示执行在这里很有用。

    你的结构的问题是案例2和案例3之间没有区别,即你可以设置卡片有一个值,如果相同的情况下一个如果不是案例2和垃圾案件三,因为两个卡片没有转动

    不使用布尔值,而是使用具有值的内容,例如:图片控件。

    以下使用事件监听器来监控按钮按下:

    enter image description here

    enter image description here

    enter image description here

    有四个控件,2个头骨& 2个苹果 如果单击多个控件,则检查是否相等,如果为true,则控件被隐藏,如果为false则返回灰色。

    您可以在此方案中拥有所需数量的照片,