首页 > 解决方案 > 即时自动重置值

问题描述

当它变为0时,我尝试重置一个值。所以我在我的代码之上添加了它,但它似乎不起作用:

if (gameData.monster_hp <= 0) {
  gameData.monster_hp = 100;
}

在这里我的整个代码:

var gameData = {
  player_hp: 0,
  monster_hp: 100,
  hit_dmg: 5,
  atk_speed_ratio: 4,
}


if (gameData.monster_hp <= 0) {
  gameData.monster_hp = 100;
}


function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

function hit() {
  gameData.monster_hp -= gameData.hit_dmg
  document.getElementById("monster_hp").innerHTML = gameData.monster_hp + "HP"
}
async function auto_hit() {
  while (gameData.monster_hp > 0) {
    hit();
    s = 1000 / gameData.atk_speed_ratio,
      await sleep(s);
  }
}

function dmg_up(n) {
  gameData.hit_dmg = gameData.hit_dmg + n;
  console.log(gameData.hit_dmg);
}

function atkspeed_up(n) {
  gameData.atk_speed_ratio = gameData.atk_speed_ratio + n;
  console.log(gameData.atk_speed_ratio);
}

标签: javascript

解决方案


你可以把

if (gameData.monster_hp <= 0) {
  gameData.monster_hp = 100;
}

在名为checkScore. 然后,每当您对 进行更改时gameData.monster_hp,您都可以调用该函数checkScore


推荐阅读