如何暂停模拟?

时间:2012-05-02 21:13:49

标签: simulation

进行概率机器模拟。

需要在按下按钮时暂停模拟。

目前,我所拥有的是,如果按'P',我的模拟会暂停。但是,当我按下取消暂停键时,模拟取消暂停,但它不会从暂停状态中取消暂停。

即。如果我把球停在机器的中间位置,在打开后,球从顶部重新生成,告诉我球已经同时到达底部。

我用来实现这个目标的算法是 -

if (UserPress == 'P')
   Pause = !Pause;

if (Pause)
{
    ball.Update;
    ReDraw();
}

1 个答案:

答案 0 :(得分:1)

如果你正在使用实时来执行Update()中的“模拟”,即使在未暂停时,实时已经过了,因为它被暂停,因此“球”移动了。您需要将自上次未暂停帧后经过的时间与您在ball.Update()中使用的时间相关联。

当然,除非我在代码中看不到任何其他完全的东西。