1
我在实施一个游戏,其中敌人AI根据预先设定的动作数量执行随机动作。 Iv实现了随机动作的执行,但这意味着每次更新游戏都会执行一个新动作。相反,我希望AI每1秒钟执行一次动作。这将如何完成?这里是我的随机操作代码:AI在Java游戏中每隔n秒执行一次随机动作
public class RandomAction implements Controller {
Action action = new Action();
@Override
public Action action() {
Random rand = new Random();
action.shoot = rand.nextBoolean();
action.thrust = rand.nextInt(2);
action.turn = rand.nextInt(3) - 1;
return action;
}
}
如上所述,问题没有包含足够的上下文。这取决于你的程序的总体结构,以确定是否例如。使用线程可以解决这个问题。 –
如果使用thread.sleep之类的任何帮助将无法正常工作,因为游戏中还有其他元素需要进行更新,即通过键盘控制的玩家船只 – Volken
如果您有一个单独的敌人AI线程,它可以很好地使用'thread.sleep'。不过,您需要注意并发问题。 –