我正在尝试构建一个简单的Java游戏,它会随机产生敌人以供用户击落。
我的游戏每秒调用60次方法。我希望它每隔一段时间随机执行一次动作,在这种情况下,会产生一个敌人。
我发现在使用Math.random()
时使用并说例如,< 0.1,因为每秒60帧,它产生太多的几率为10%。我非常感谢任何有关使这项工作更好的建议。
提前致谢。
答案 0 :(得分:1)
在这种情况下,我有两个可能对你有帮助的想法。
为什么不尝试降低发生的可能性?在您的示例中,如果这种情况经常发生在10%,则将其降低到更小的数字。例如,如果你想要它发生说,每1秒,你需要一个相似于1/60 = 0.016%的几率。同样的想法,如果你想每5秒做一次,1 /(60 * 5)。
根据自上次随机对象以来的时间更改您的值。例如,在0.0001处开始%概率。每次调用该方法时,都会增加少量发生的可能性。这样它最终会被调用,但可能发生得更快(例如,你希望这至少每10秒左右发生一次,但你可能会更快地得到它然后随机)。