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'。不過,您需要注意併發問題。 –