【发布时间】:2013-04-22 04:44:31
【问题描述】:
我在我的游戏中实现了一个加电功能,我希望它在杀死僵尸时有 10% 的几率应用到玩家身上。每次玩家子弹击中僵尸时,我都尝试使用此代码,但它并没有真正起作用。
double rand = Math.random() * 10 + 1;
if(rand == 1){
power.setShrink(true);
}
我知道加电是有效的,因为如果我将它设置在 if 语句之外,播放器将会缩小。
我将如何做到这一点,以便在僵尸被杀死时有 10% 的几率使玩家应用该效果?
【问题讨论】:
-
rand 达到 1 的可能性非常低。检查它是否在某个区间,这样会更好。
-
@Juvanis 我也试过
double rand = Math.random() * 1 + 1;,但也没有用。 -
您的代码的真正问题是将double 与int 进行比较。 Java 会将 int 转换为 double 而不是 double。所以,1.0001 不等于 1.0000
标签: java math if-statement random double