武器伤害范围计算器没有错误,但不起作用

时间:2019-05-26 12:32:58

标签: javascript

因为每次决定用jquery制作计算器时,我都懒得计算。

由于某种原因,它无法正常工作,我也不知道为什么,所以我在这里向你们寻求帮助。

这里是jsfiddle link

  

伤害公式:
  AbaseEq:武器的伤害范围(例如:800〜1000)
  上升差异:武器上升-盔甲上升(例如:5-3:2->上升差异:2-> 15%,如果差异为1,则为10%)
  Aeq:AbaseEq(相差1%以上)

代码:


        <table>
  <tr>
    <td>
      <label>Base Attack (Without any equipment equipped): </label>
    </td>
    <td>
      <input placeholder="e.g: 290" id="abase">
    </td>
  </tr>
  <tr>
    <td>
      <label>Weapon Attack Range: </label>
    </td>
    <td>
      <input placeholder="e.g: 800-1000" id="abaseeq">
    </td>
  </tr>
  <tr>
    <td>
      <label>Weapon + ?</label>
    </td>
    <td>
      <input placeholder="e.g: 9" id="weapon+">
    </td>
  </tr>
  <tr>
    <td>
      <label>Enemy Defence + ? </label>
    </td>
    <td>
      <input placeholder="e.g: 6" id="enemydef+">
    </td>
  </tr>
  <tr>
    <td>
      <button id="calculate">
  Calculate
  </button>
  </td>
  <td>
    <div id="result"></div>
  </td>
  </tr>

</table>

$(document).ready(function() {
  $('#calculate').on('click', function() {
    var abase = $('#abase').val();
    var abaseEq = $('#abaseeq').val();
    var abaseEqLength = abaseEq.length;
    abaseEqLength -= 1;
    var weaponlvl = $('#weaponup').val();
    var enemydeflvl = $('#enemydefup').val();
    var weaponup=parseInt(weaponlvl);
    var enemydefup=parseInt(enemydeflvl);
    var updifference = weaponup - enemydefup;
    var plusdifference = [0, '10%', '15%', '22%', '32%', '43%', '54%', '65%', '90%', '120%', '200%'];
    var negdifference = {};
    var result;
    var aeqmin=0;
    var aeqmax=0;
    var lowestdamage="";
    var maxdamage="";
    var negindex;
    var negindexplus = 0;
    for (var i = 0; i <= abaseEqLength; i++) {
      if (abaseEq[i] == '-') {
        negindex = i;
        negindexplus += (negindex + 1);
      }
    }
    for (var x = 0; x < negindex; x++) {
      lowestdamage = lowestdamage + abaseEq[x];
      console.log("Lowest Damage: " + lowestdamage);
    }
    for (var y = negindexplus; y <= abaseEqLength; y++) {
      maxdamage = maxdamage + abaseEq[y];
      console.log("Max Damage: " + maxdamage);
    }
    if (updifference => 0 && updifference <= 10) {
      updifference = plusdifference[updifference];
      console.log("updifference: "+updifference);
      result = "pos";
    }
    if (updifference < 0 && updifference >= -10) {
      var negarray = negdifference * -1;
      negdifference[updifference] = plusdifference[negarray];
    }
    var mindamage = parseInt(lowestdamage);
    var maxidamage = parseInt(maxdamage);
    if (result == "pos") {
      aeqmin = mindamage * (1 + plusdifference[updifference]);
      aeqmax = maxidamage * (1 + plusdifference[updifference]);
    }
    if (aeqmax > 0) {
      $('#result').html = aeqmin + "~" + aeqmax;
    }
  }); // calculate on click function
}); // document ready

0 个答案:

没有答案