使用Randomizer破坏If / Else语句

时间:2015-03-16 19:38:38

标签: javascript

好的,我还是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.")
}}

1 个答案:

答案 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();

在这里测试:http://jsfiddle.net/urahara/6rtt0w62/