Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的第二句话;levelup“;按钮不工作,更新功能也没有从fight和levelup功能调用_Javascript_Html_Debugging - Fatal编程技术网

Javascript 我的第二句话;levelup“;按钮不工作,更新功能也没有从fight和levelup功能调用

Javascript 我的第二句话;levelup“;按钮不工作,更新功能也没有从fight和levelup功能调用,javascript,html,debugging,Javascript,Html,Debugging,html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body>

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btnAddMonster" type="button" onclick="addMonster()">Buy Monster</button>

    <button id="btnLevelUpMonster" type="button" onclick="levelUpMonster()">Levelup Monster</button>

    <button type="button" onclick="fight()">Fight</button>
    <div id="logs">

    </div>
    <div id="variables">

    </div>
    <div id="monstersInfo">

        monster

    </div>

    <script src="GameScript.js">  </script>
</button>
</body>
</html>

文件
买怪物
升级怪物
搏斗
怪物
javascript代码

var Monster = [{
    "HitPoint" : 100,
    "Damage" : 5,
    "level" : 1
},
]
var log = ["Welcome to DungeonCircus",""]
var gold = 500;
var monsterLevel = 1;
var exp = 0;

function addMonster(){
    if (gold>=Monster.length*80){
        gold-=Monster.length*80
        var temp={};
        temp.level=monsterLevel;
        temp.Damage = 5*temp.level+Math.floor((Math.random()-Math.random())*0.8*temp.level);
        temp.HitPoint = 100*temp.level+Math.floor(10*(Math.random()-Math.random())*temp.level);
        Monster.push(temp);
        monstersInfoUpdate();
        document.getElementById("btnAddMonster").innerHTML="Add Monster ("+(Monster.length*80).toString()+")";
    }
    else{
        alert("Low on gold")
    }
}


function levelUpMonster(){
    if(exp>=monsterLevel * 10){
        exp-=monsterLevel * 10;
        monsterlevel += 1;
        document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";
        variablesUpdate();
    } else{
        alert("Low on exp")
    }

}

function fight(){
    var hpPoints=0;
    var damagePoints=0;
    var i;
    var l=Monster.length;
    for(i=0;i<Monster.length;i++){
        hpPoints+=Monster[i].HitPoint;
        damagePoints+=Monster[i].Damage;
    }
    gold+=damagePoints*80;
    exp += hpPoints;
    while(Monster.length){
        Monster.pop();
    }
    monstersInfoUpdate();
}


function monstersInfoUpdate(){
    var str="";
    var i=Monster.length;
    str+="<b><br>Monster : "+(i).toString()+"</b>";
    for (var i=0;i<Monster.length;i++){


        str+="<br> Level : "+Monster[i].level + "     HitPoints : " + Monster[i].HitPoint + "      Damage : " + Monster[i].Damage;
        document.getElementById("monstersInfo").innerHTML=str;

    }
    variablesUpdate();
}

function variablesUpdate(){
    var str="Gold : "+gold;
    str+=" Monster Level : "+monsterLevel;
    str+=" Exp : "+ exp;
    document.getElementById("variables").innerHTML=str;
    document.getElementById("btnAddMonster").innerHTML="Add Monster ("+(Monster.length*80).toString()+")";
    document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";
}

monstersInfoUpdate();
document.getElementById("btnAddMonster").innerHTML="Add Monster ("+(Monster.length*80).toString()+")";
document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";


document.getElementById("logs").innerHTML=log;
var Monster=[{
“生命点”:100,
“损害”:5,
“级别”:1
},
]
var log=[“欢迎来到地下城马戏团”,“”]
var-gold=500;
风险等级=1;
var-exp=0;
函数addMonster(){
如果(黄金>=怪物长度*80){
黄金-=怪物。长度*80
var temp={};
温度等级=温度等级;
温度损伤=5*温度等级+数学地板((数学随机()-数学随机())*0.8*温度等级);
温度生命点=100*温度等级+数学楼层(10*(数学随机()-数学随机())*温度等级);
怪物推(临时);
monstersInfoUpdate();
document.getElementById(“btnAddMonster”).innerHTML=“添加怪物”(+(Monster.length*80).toString()+”);
}
否则{
警惕(“黄金价格偏低”)
}
}
函数levelUpMonster(){
如果(经验>=等级*10){
经验-=怪物等级*10;
等级+=1;
document.getElementById(“BTNLevelopMonster”).innerHTML=“LevelUp Monster”(+(monsterLevel*10.toString()+”)”;
variablesUpdate();
}否则{
警报(“经验值过低”)
}
}
函数fight(){
var-hpPoints=0;
var损伤点=0;
var i;
var l=怪物长度;
对于(i=0;i=heromes.length*80){
黄金-=英雄。长度*80
var temp={};
温度等级=heroesLevel;
温度损伤=10*温度等级+数学地板((数学随机()-数学随机())*0.8*温度等级);
温度生命点=80*温度等级+数学楼层(10*(数学随机()-数学随机())*温度等级);
英雄。推(临时);
HeroESInfo更新();
}
否则{
警惕(“黄金价格偏低”)
}
}
函数levels(){
如果(exp>=HeroesLevel*100){
exp-=HeroesLevel*100;
级别+=1;
variablesUpdate();
}否则{
警报(“经验值过低”)
}
}
新的html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btnAddMonster" type="button" onclick="addMonster();">Buy Monster</button>

    <button id="btnLevelUpMonster" type="button" onclick="levelUpMonster();">Levelup Monster</button>

    <button id="btnAddHero" type="button" onclick="addHero();">Buy Hero</button>

    <button id="btnLevelUpHero" type="button" onclick="levelUpHero();">Levelup Hero</button>


    <button type="button" onclick="fight()">Fight</button>
    <div id="logs">

    </div>
    <div id="variables">

    </div>
    <div id="heroesInfo">

        HeroInfo

    </div>

    <div id="monstersInfo">

        monsterInfo

    </div>

    <script src="GameScript.js">  </script>
</button>
</body>
</html>


文件
买怪物
升级怪物
买英雄
升级英雄
搏斗
英雄信息
怪物信息

LevelupMonster函数中有一个输入错误

function levelUpMonster(){
    if(exp>=monsterLevel * 10){
        exp-=monsterLevel * 10;
        monsterlevel += 1; //==============> here should come monsterLevel "L" caps
        document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";
        variablesUpdate();
    } else{
        alert("Low on exp")
    }

}
*运算符很可能需要用空格分隔。
还有一些输入错误。

Thx和关于怪物信息更新功能没有从战斗功能和升级功能中调用,请告诉我游戏的流程。战斗功能做什么?它更新什么?ETC灯光功能生成黄金和经验,所有怪物都被杀死,也就是说,它们从阵列中弹出。fight函数正在工作,但对UpdateMonitorInfo的调用不工作。类似地,对variablesupdate的调用在levelupMonster函数中也不起作用,似乎一切都正常。fight函数弹出所有数组,这就是updatenonstinfo无法工作的原因。它没有进入循环,因为数组是空的。Varialbe update似乎也在更新所有内容。我认为还有一些其他错误,因为在对代码进行更多添加后发现了类似的错误,因为现在英雄信息没有更新。
function levelUpMonster(){
    if(exp>=monsterLevel * 10){
        exp-=monsterLevel * 10;
        monsterlevel += 1; //==============> here should come monsterLevel "L" caps
        document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";
        variablesUpdate();
    } else{
        alert("Low on exp")
    }

}
function variablesUpdate(){
    var str="Gold : "+gold;
    str+=" Monster Level : "+monsterLevel;
    str+=" Exp : "+ exp;
    document.getElementById("variables").innerHTML=str;
    document.getElementById("btnAddMonster").innerHTML="Add Monster ("+(Monster.length*80).toString()+")";//the * operator needs to be seperated with a whitespace everywhere
    document.getElementById("btnLevelUpMonster").innerHTML="LevelUp Monster ("+(monsterLevel*10).toString()+")";
}