【发布时间】:2016-02-03 21:14:04
【问题描述】:
我还没有看到任何专门回答这个问题的东西。 我打算开发一个基于文本的游戏,该游戏涉及每次空闲栏填满时发生的动作(每 x 秒过去) 我只是想弄清楚我的 javascript 的基本布局,它将在这个游戏中制作战斗系统。
如果 pDamThisRound 不是 > baseD,我正在尝试让计算机重新计算 pDamThisRound,在这种情况下是 10。
如果它大于 baseD,我的代码可以工作并打印 pDamThisRound。但如果不是,则代码不会打印任何内容。
var baseD = 10;
var pStr = 25;
var pDam = Math.floor((baseD + pStr) / 2);
var pDamThisRound;
var pDamTR = function() {
pDamThisRound = (Math.floor(Math.random() * 2 * pDam));
};
pDamTR();
if(pDamThisRound > baseD) {
document.getElementById("h").innerHTML = pDamThisRound;
}
else {
pDamTR();
}
【问题讨论】:
-
你需要迭代。如果测试失败,您的代码会计算一个新值,但它不会再返回检查条件。
-
在你的 else 分支中,你不打印任何东西......
-
试试这样的:jsfiddle.net/qfnvf1y8/7
-
我不敢相信这有多么简单。出于某种原因,我在想,如果不满足 if 语句的参数,它会在再次调用 pDamTR 后再次循环遍历 if 语句。很抱歉发布这样一个菜鸟错误。谢谢大家。
标签: javascript function variables if-statement