我如何使用Javascript OOP制作一个循环直到玩家击败敌人?
var character = {};
character.health = 5;
character.damage = 1;
var npc = {};
npc.health = 5;
do {
npc.health = npc.health -= character.damage;
document.write(npc.health + "<br>");
}
while (npc.health != 0);
if (npc.health == 0) {
document.write("Player wins.");
}
Run Code Online (Sandbox Code Playgroud)
当角色伤害设置为1时可以正常工作,但一旦它超过1,它就会永远循环并且浏览器会崩溃吗?我糊涂了.另外我如何让它显示0而不是像-1等负数?
如果您character.damage是2,请考虑循环的迭代.
第一次迭代后,npc.health将是3.
第二次迭代后,npc.health将为1.
第三次迭代后,npc.health将为-1.
由于你的while条件是npc.health != 0,你的循环将永远持续,因为npc.health永远不会是0,它将继续变得越来越消极.
改变你的while状况npc.health > 0应该解决你的问题.
为了不显示负面的健康状况npc,在减去之后character.damage,只需添加一个if语句,然后再使用它document.write()来显示npc.health.
if (npc.health < 0) {
npc.health = 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |