Javascript 我的第二句话;levelup“;按钮不工作,更新功能也没有从fight和levelup功能调用
html代码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>
<!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()+")";
}