【发布时间】:2014-05-15 15:07:21
【问题描述】:
这个项目的主类是acm.program.GraphicsProgram;GraphicsProgram
之前在我的项目上工作时,我需要在 Pong 游戏中稍微随机化球的运动,并通过使用 import java.util.Random; 找到了解决方案,然后我使用了这个代码(每次球从玩家的桨上反弹时执行,这会使球移动每场比赛都不一样):
Random rand = new Random();
boolean bool = rand.nextBoolean();
if (bool)
if (dx > 0)
dx += 1;
else
dx -= 1;
else if (dy > 0)
dy += 0.5;
else
dy -= 0.5;
其中dx 和dy 分别是球的水平和垂直速度。
但是今天在大学讲座中,我们看到了不同的方法(与第一个无关,我自己认为更早),使用
import acm.util.RandomGenerator;
然后
RandomGenerator rgen = RandomGenerator.getInstance();
boolean bool = rgen.nextBoolean();
这两个类(Random 和 RandomGenerator)有什么区别吗?如果是这样,哪个更好用?我不太明白getInstance(); 是什么以及为什么我在使用Random 类时不需要它。
【问题讨论】:
-
标准的(java.util)有javadoc。非标准的(acm.util)也应该有javadoc。如果有,请阅读它并将其与标准版本进行比较。如果它没有,那么您可能不应该使用它。