所以我在codecademy上完成了Dragon Slayer Interactive活动,我对“Math.floor(Math.random()* 2)”感到困惑。应该做的。


以下是我的“Dragon Slayer!”互动活动的完整代码。


 var slaying = true;
 var youHit = Math.floor(Math.random()* 2);
 var totalDamage = 0;
而(杀戮){
 var damageThisRound = Math.floor(Math.random()* 5 + 1);
 if(youHit){
 console.log(“你击中龙!”);
 totalDamage + = damageThisRound;
 if(totalDamage> = 4){
 console.log(“你杀了龙!”);
杀戮=假;
 } else {
 youHit = Math.floor(Math.random()* 2);
 }
 } else {
 console.log(“龙打败了你!”);
杀戮=假;
 }
}



 你能描述一下Math.floor(Math.random()* 2)的作用吗?

答案 0 :(得分:0)
Math.random()函数返回[0,1]范围内的浮点伪随机数;也就是说,从0(含)到最高但不包括1(不包括),然后您可以缩放到所需的范围。该实现选择初始种子到随机数生成算法;它不能被用户选择或重置。
Math.floor()函数返回小于或等于给定数字的最大整数。
Math.floor( 45.95); // 45
Math.floor( 45.05); // 45
Math.floor( 4 ); // 4
Math.floor(-45.05); // -46
Math.floor(-45.95); // -46
Math.random(); // 0.7757860020429985
Math.random() * 2 // number from range 0.x to 1.x
Math.floor(Math.random() * 2); // will give from 0 or 1