屠龙者 - Math.floor(Math.random()* 2)是什么意思?

时间:2017-06-17 08:35:22

标签: javascript

所以我在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)的作用吗?




1 个答案:

答案 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