我的代码曾经工作但现在还不行

时间:2014-09-20 16:20:04

标签: javascript dice

所以我在前一段时间制作了这个代码,然后它才起作用,但现在却没有。谁能告诉我什么是错的?代码的作用很简单:我从一个辐射游戏中获取一个武器伤害值(如果FO1 / FO2 / FOT,则首先平均值),告诉它它来自哪个游戏,并输出它造成的伤害程度d20现代。我不知道解释它的作用是否有帮助,但我希望它清楚。

var systemSelect = prompt("What system are you using? FO, F2, FT, F3, or FNV?")
var damage = parseInt(prompt("How much damage does the weapon do?"))

if (systemSelect === "FO" or "F2" or "FT") {
    if (damage >= 1 && < 11) {
        damage = "2d4";
    } else if (damage >= 11 && < 26) {
        damage = "2d6";
    } else if (damage >= 26 && < 46) {
        damage = "2d8";
    } else if (damage >= 46 && < 61) {
        damage = "2d10";
    } else if (damage >= 61 && < 81) {
        damage = "2d12";
    } else if (damage >= 81 && < 101) {
        damage = "4d6";
    } else {
        damage = "2d20";
    }
}

if (systemSelect === "F3" or "FNV") {
    if (damage >= 1 && < 8) {
        damage = "2d4";
    } else if (damage >= 8 && < 15) {
        damage = "2d6";
    } else if (damage >= 15 && < 25) {
        damage = "2d8";
    } else if (damage >= 25 && < 37) {
        damage = "2d10";
    } else if (damage >= 37 && < 61) {
        damage = "2d12";
    } else if (damage >= 61 && < 81) {
        damage = "4d6";
    } else {
        damage = "2d20";
    }
}

1 个答案:

答案 0 :(得分:0)

您的问题似乎是if条件中的错误语法。

首先,你不能说if (damage >= 1 && < 11),你需要在每个条件中指定变量,即if (damage >= 1 && damage < 11)

其次,“或”运算符不是or,而是||所以你需要if (systemSelect=="FO" || systemSelect=="F2" || systemSelect=="FT")

解决这些问题,然后再试一次 - 祝你好运:)