function rollFiftyFifty() {
var fiftyFifty = Math.floor(Math.random() * 2+1);
if (1) {
console.log('One!');
}
if (2) {
console.log('Two!');
}
}
rollFiftyFifty();
这是我的代码块。我正在尝试为roll20编写一个程序来确定是否发生了遭遇。基本上,我希望代码生成1或2,50%的几率发生。如果它生成1,我希望它打印并生成其他信息。如果它生成一个2,我希望它打印出来而不是别的。这段代码就是这样,我可以弄清楚我在做什么。
我所学到的所有代码都来自于codecademy,我是超级笨蛋。提前抱歉。
答案 0 :(得分:3)
您在if(1)
& if(2)
语句始终会生成true
。
在Javascript
:
1
将始终返回true
0
将始终返回false
在您的代码中:
1
将始终返回true
2
将始终返回true
改为使用:
Math.random() >= 0.5;
这会根据50/50的机会返回true
或false
。
因此:
<小时/>if(1)
和if(2)
都会被调用。
您还声明了variable
并且从未使用过它:
var fiftyFifty = Math.floor(Math.random() * 2+1);
像这样使用那个变量:
function rollFiftyFifty() {
// If Math.random() produces a numbes less than 0.5
// fiftyFifty will become false.
// Otherwise, fiftyFifty will become true;
var fiftyFifty = Math.random() >= 0.5;
if (fiftyFifty == true) {
console.log('One!');
} else {
console.log('Two!');
}
}
rollFiftyFifty();
&#13;
阅读材料:
答案 1 :(得分:2)
只需使用以下声明即可解决您的问题
if (fiftyFifty == 1) {
document.write('One!');
}
if (fiftyFifty == 2) {
document.write('Two!');
}`