因此,我正尝试创建一些“应用程序”以提高我为期一周的js技能的乐趣。比看起来更难!但是它非常有趣。因此,我遇到了我想到的最奇怪的困难:
当我在最后一行的计算中使用正数时,结果是正常的,当两个变量之一存在时,计算就非常简单(显然是错误的)。我花了很多时间寻找解决方案,但没有任何帮助。
var Alankylosaurus_stats = {
hp: 4200,
armor: .3,
dmg: 900,
speed: 110,
crit: 5
};
var Allosinosaurus_stats = {
hp: 4500,
armor: .15,
dmg: 1500,
speed: 110,
crit: 20
};
function dinoStats(x) {
var y = parseFloat(document.getElementById('level_select_' + x).value);
var dif = 26 - y;
var dino = document.getElementById('dino_select_' + x).value;
console.log(dif);
if (dino === 'Alankylosaurus') {
document.getElementById('table_hp_' + x).innerHTML =
Math.round( Alankylosaurus_stats.hp / (1.05 ^ dif));
};
if (dino === 'Allosinosaurus') {
document.getElementById('table_hp_' + x).innerHTML =
Math.round( Allosinosaurus_stats.hp / (1.05 ^ dif));
};
};
<tr>
<td colspan="5">
<label for="level_select_left">Choose level:</label>
<select id="level_select_left" onchange="dinoStats('left')">
<option value="1">--Please choose--</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26" selected>26</option>
</select>
</td>
</tr>
<tr>
<td colspan="5">
<label for="dino_select_left">Choose Dino:</label>
<select id="dino_select_left" onchange="dinoPick('left')">
<option value="">--Please choose--</option>
<option value="Alankylosaurus">Alankylosaurus</option>
<option value="Allosinosaurus" selected>Allosinosaurus</option>
<option value="Ankyntrosaurus">Ankyntrosaurus</option>
</select>
</td>
</tr>
html并不是真正必要的,但我只是用它来少说话:p
谢谢!
答案 0 :(得分:0)
1.05 ^ dif
不是您的想法。 ^
是二进制异或运算符,它将在此处为您提供一些奇怪的值,而您需要指数运算符**
:
1.05 ** dif