【问题标题】:My code used to work but won't now我的代码以前可以工作,但现在不行
【发布时间】:2014-11-15 01:06:40
【问题描述】:

所以我不久前编写了这段代码,当时它可以工作,但现在不行了。有人可以告诉我有什么问题吗?代码的作用很简单:我从 Fallout 游戏中获取武器伤害值(如果是 FO1/FO2/FOT,则首先取平均值),告诉它它来自哪个游戏,然后输出它在 d20 Modern 中造成的伤害。我不知道解释它的作用是否有帮助,但我希望它很清楚。

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";
    }
}

【问题讨论】:

  • 请在此处包含相关代码,而不是链接到外部站点。如果外部网站发生变化或消失,这个问题就会失去上下文并变得无用。
  • 您需要在问题中包含代码的相关部分,并努力确定其中的哪一部分不再起作用。
  • 你应该编辑这个问题的“javascript”标签,因为这似乎是其他语言。

标签: javascript dice


【解决方案1】:

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

首先不能说if (damage &gt;= 1 &amp;&amp; &lt; 11),需要在每个条件下指定变量,即if (damage &gt;= 1 &amp;&amp; damage &lt; 11)

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    • 2021-03-22
    相关资源
    最近更新 更多