我的猜测次数不会停留在正确的水平上
My number of guesses wont stop at correct level
我目前正在制作一个仅使用JavaScript的雷区游戏。我在游戏结束时遇到了问题。我有三个难度级别,所以很容易给用户 45 个猜测,中级 40 个猜测和高级是 35 个猜测。但是,由于某种原因,当我将其设置为中级/高级时,它会一直进行 45 次猜测,而不是应该停止的地方。
经过我花了很长时间查看它并更改不同的东西,例如变量的名称和编辑代码。猜测工作正常,因此每个猜测实际上都算作 1 个猜测,现在它们计为 3 个。代码现在停止在 35。
var number_of_guesses = 0;
var maximum_guesses = 45;
var intermediate_guesses = 40;
var advanced_guesses = 35;
var number_of_hits = 0;
var number_of_misses = 0;
var element = opener.document.getElementById("easy");
if (element.checked === true)
{
maximum_guesses = 45;
}
var intermediate = opener.document.getElementById("intermediate");
if (element.checked === true)
{
intermediate_guesses = 40;
}
var advanced = opener.document.getElementById("advanced");
if (element.checked === true)
{
advanced_guesses = 35;
}
number_of_guesses++;
if (number_of_guesses > maximum_guesses)
{
window.alert("Sorry, you have run out of guesses!");
return;
}
number_of_guesses++;
if (number_of_guesses > intermediate_guesses)
{
window.alert("Sorry, you have run out of guesses!");
return;
}
number_of_guesses++;
if (number_of_guesses > intermediate_guesses)
{
window.alert("Sorry, you have run out of guesses!");
return;
}
有人可以告诉我:a) 如何让每个猜测计为 1 而不是 3?b) 如何正确设置每个难度?
尝试让所有三个选项都设置maximum_guesses
变量,而不是为不同的难度设置三个不同的变量。然后只需检查一个变量。
var number_of_guesses = 0;
var maximum_guesses = 45;
var number_of_hits = 0;
var number_of_misses = 0;
// notice the missing intermediate_guesses and advanced_guesses vars
var element = opener.document.getElementById("easy");
if (element.checked)
{
maximum_guesses = 45;
}
var intermediate = opener.document.getElementById("intermediate");
if (intermediate.checked)
{
maximum_guesses = 40; // changed this to maximum_guesses
}
var advanced = opener.document.getElementById("advanced");
if (advanced.checked)
{
maximum_guesses = 35; // changed this to maximum_guesses
}
number_of_guesses++; // you only need this once
if (number_of_guesses > maximum_guesses)
{
window.alert("Sorry, you have run out of guesses!");
return;
}
编辑:你还有一个错别字,当你检查是否选中了中级和高级复选框时,你仍然在检查简单的元素。
编辑2:此外,在您的代码中,您调用了number_of_guesses++;
三次,这就是为什么每个猜测都计数3次的原因。要让它们只算作一个,你只需要第一个。每次检查时,数字将保持不变,因此您无需将其增加三次。
编辑3:在我的代码中,请注意我如何删除if语句中的=== false
部分,其中您选中了复选框是否被选中。
相关文章:
- 允许表单元格内容水平展开
- 如何在c3js动态图表上进行平滑(水平)转换
- 如何创建一个具有固定左右列和水平滚动的表
- 通过水平滚动将页眉固定到页面顶部
- 水平视差滚动从头开始-没有插件(jQuery)
- 具有Twitter引导程序的水平滚动表
- 使用重定向来启动应用程序,并且仍然停留在asp.net中的同一页面中
- 使用javascript停用/删除iframe
- JS似乎停留在Ajax重新加载页面上的DOM
- 余额仍停留在5000
- 理解 d3.js 源代码:停留在 function.call() 和 “=+”
- 选择不会停留在AngularJS多选绑定中
- FB Timeline应用程序高度停留在800px
- 如何获得下一个/上一个链接以停留在CarouFredSel幻灯片的两侧
- document.body.scroll顶端值停留在0
- AudioContext.当前时间在Chromebook上永远停留在0.010666666
- 倒计时停留在1点
- 将鼠标停留在onclick元素上
- 停留在<李>表单提交后的选项卡
- 为什么倒计时停留在“1”