Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何只生成一次随机数,并重用其输出?_Javascript_Node.js_Random - Fatal编程技术网

Javascript 如何只生成一次随机数,并重用其输出?

Javascript 如何只生成一次随机数,并重用其输出?,javascript,node.js,random,Javascript,Node.js,Random,我从Javascript开始学习编程,我的导师让我们做一个随机掷骰子,一个简单的Math.ceil(6*Math.random()) 我试着稍微玩弄一下,然后判断结果。所以,如果你掷7,你赢了,其他任何一个你都输了。最终的结果是, “你打了一个7分 你赢了!” 然而,我试图通过以下方式来实现: console.log("You rolled a: " + diceSum); if (dicesum() == 7) { console.log("You win!"); } else { conso

我从Javascript开始学习编程,我的导师让我们做一个随机掷骰子,一个简单的Math.ceil(6*Math.random())

我试着稍微玩弄一下,然后判断结果。所以,如果你掷7,你赢了,其他任何一个你都输了。最终的结果是,

“你打了一个7分 你赢了!”

然而,我试图通过以下方式来实现:

console.log("You rolled a: " + diceSum);
if (dicesum() == 7) {
console.log("You win!");
} else {
console.log("Aw... you lose.  Better luck next time");
}

diceSum()函数每次求值,所以我可能会得到“yourolled a:7”和“Aw…You lose”,因为第一个骰子是7,但当if语句出现时,diceSum就不同了

我如何生成一个像掷骰子一样的随机数,然后反复使用它的值

这是我当前的代码(因为我试图显示这些值,所以我知道它是否返回正确答案,所以代码远远超出了必要的范围):

将其保存到变量:

var sum = diceSum();

console.log("You rolled a " + sum);

if (sum == 7) { 
    console.log(winMsg);
} else {
    console.log(loseMsg);
}
var sum = diceSum();

//Outputs
//show total sum to compare with message below
console.log(sum);

//Return a message stating the result
console.log("You rolled a " + sum)

//View true false status to compare with message returned below
console.log(sum == 7);

//If diceSum is a 7, give winning message, otherwise give losing message
if (sum == 7){ 
  console.log(winMsg);
} else {
  console.log(loseMsg);
}
或:


将结果放入变量中,然后使用变量:

var sum = diceSum();

console.log("You rolled a " + sum);

if (sum == 7) { 
    console.log(winMsg);
} else {
    console.log(loseMsg);
}
var sum = diceSum();

//Outputs
//show total sum to compare with message below
console.log(sum);

//Return a message stating the result
console.log("You rolled a " + sum)

//View true false status to compare with message returned below
console.log(sum == 7);

//If diceSum is a 7, give winning message, otherwise give losing message
if (sum == 7){ 
  console.log(winMsg);
} else {
  console.log(loseMsg);
}


顺便说一下,计算随机数的方法是错误的。将定义为返回一个与逻辑分离的0值。例如,有一个函数可以滚动模具并存储结果,还有一个函数可以返回结果。或者,一个新对象具有以下调用:启动“骰子事务”、“向运行总和添加新骰子卷”、“返回运行总和”和“结束事务”。您显示的代码过于集成。把它分成逻辑部分,然后把这些部分组合起来——可能然后依次组合这些部分。我相信你要找的是一个变量。
function getDieRoll() {
  return Math.floor(6 * Math.random()) + 1;
};