2

我正在制作的游戏需要随机刻度。有没有办法我可以做到这一点?我不希望它基于我的游戏的滴答率(平均每秒 60 次滴答),因为我需要一个角色的随机移动。也许我可以使用一些 Notch 的代码?

4

2 回答 2

1

javax.swing.Timer以固定速率运行;在侦听器中,使用随机变量来决定是否发生某事,例如nextBoolean()50% 的概率、nextInt(3)33% 的概率等。这里有一个相关的示例

于 2012-11-28T22:49:20.120 回答
0

您有两个主要选择;

  1. 您可以存储一个随机值,并在每个滴答时将其递减(减一)。当它达到零时;执行您想要的操作,并为变量分配一个新的随机数。冲洗并重复。
    • 这有效地为您提供了一个随机的 psudo-tick,完全在现有计时机制的限制范围内。
  2. 忽略滴答声;随机动作不需要随机间隔,只需要随机机会。
    基本上,每跳一次,你就有机会决定一个新的行动,如果机会成功,你就为实体选择一个新的行动。
    • 通常会根据他们执行当前操作的时间来修改机会;因此,一个实体“坐下”的时间越长,他们就越有可能转向其他事物。

您可能还想在state-machines上查找材料,因为它是为游戏角色实现简单 AI 的常用方法(这似乎是您正在做的事情)。

于 2013-08-28T03:45:17.913 回答