好的,我还是JavaScript的初学者,但我正在尝试编写一个摇滚剪刀式游戏。一切都很顺利,除了我每次运行"重新加载"功能输出是第一个"如果" 第二个 if / else语句的声明。我的意思是输出"双方重新加载。"如果要安排代码如何在下面,每次都会回来。我也已经知道随机数发生器有效了。任何帮助将不胜感激。感谢。
var reload = function() {
var random = function() {
var randomizer = Math.random() * 100
if (randomizer <= 33) {
var compDecision = 1
}
else if (randomizer > 67) {
var compDecision = 2
}
else if (33 < randomizer && randomizer <= 67) {
var compDecision = 3
}}
if (compDecision = 1) {
confirm("Both sides reload.")
}
else if (compDecision = 2) {
confirm("You reload and the enemy takes up defensive positions.")
}
else if (compDecision = 3) {
confirm("The enemy takes you out as you reload.")
}}
答案 0 :(得分:1)
首先使用=
进行分配,使用==
进行逻辑比较操作。
然后,您应将var compDecision
声明为空var
,然后再为其分配值,而不再使用var
。我建议使用分号;
来结束语句,与JavaScript不同,它们对于其他语言不是可选的。
这是您的工作代码,检查差异是否结束了解决方案:
var reload = function () {
var compDecision = 0;
var random2 = function () {
var randomizer = Math.random() * 100
if (randomizer <= 33) {
compDecision = 1;
} else if (randomizer > 67) {
compDecision = 2;
} else {
compDecision = 3;
}
}
random2();
if (compDecision == 1) {
alert("Both sides reload.");
} else if (compDecision == 2) {
alert("You reload and the enemy takes up defensive positions.");
} else if (compDecision == 3) {
alert("The enemy takes you out as you reload.");
}
}
reload();