如何在玩家移动和AI在跳棋游戏中的移动之间添加暂停?

时间:2012-08-15 17:23:53

标签: java-me nokia-s40

在我的游戏中,玩家进行移动,直到计算AI移动才会看到它。然后两个动作一起显示。

我希望显示玩家的移动,之后,AI移动(在计算之后)。我试过线程延迟,但没有用。如何使用某种暂停来添加此可见性,但该暂停不能暂停程序的执行?

2 个答案:

答案 0 :(得分:1)

  1. 玩家做出选择,停止接受玩家输入,为线程中的玩家移动开始动画并在另一个线程中启动AI。
  2. 当AI完成时,虽然没有完成玩家移动的动画:等待(100)。当玩家动作的动画完成时,开始AI动作的动画。
  3. 当AI动作的动画完成后,继续接受玩家输入。

    在步骤2中,如果AI比播放器移动的动画花费更长时间,则显示一些等待动画。在开始AI动作动画之前,应该停止等待动画。

答案 1 :(得分:-1)

您可以随时创建一个布尔检查,只有在您的玩家完成移动时才会设置为true。

public class ... 
{
    boolean playerMoveMade = false;

    ...

    public void gameCycle() 
    {
        ...

        if (playerMoveMade) 
        {
            playerMoveMade = false;
            // ... render AI move
        }
    }
}