【发布时间】:2015-12-15 15:48:40
【问题描述】:
我正在尝试构建一个猜谜游戏,计算机会自动生成一个介于 1-100 之间的数字,并且用户有 5 次猜测该数字的机会。在猜测之间,我想清除输入字段。有一个提示按钮可以告诉用户“更低”或“更高”,还有一个 div 显示剩余的猜测数。还有一个重播按钮。
我已经构建了 html、css 和一些 JS,但我遇到了 for 循环。
JS/HTML 是:
<input type="text" id="playersGuess" placeholder="Input Number 1-100" class="form-control input" >
<h3 id="status"></h3>
<button onclick='playersGuessSubmission()' type="button" id="playersGuess"class="btn btn-lg btn-info submit">Submit Your Guess</button>
var playersGuess,
winningNumber
// Generate the Winning Number
function generateWinningNumber(){
winningNumber = Math.floor(Math.random() * 100);
console.log(winningNumber);
}
generateWinningNumber();
// Fetch the Players Guess
function playersGuessSubmission(){
playersGuess = parseInt($('#playersGuess').val());
console.log(playersGuess);
lowerOrHigher();
}
// Determine if the next guess should be a lower or higher number
function lowerOrHigher(){
var guessesRemaining=5;
for(i=guessesRemaining; i>0; i-- ) {
if (playersGuess > winningNumber){
console.log('lower');
guessesRemaining -= 1;
// $('remaining span').html(guessesRemaining);
console.log(guessesRemaining);
// return;
// playersGuessSubmission()
} else if (playersGuess < winningNumber) {
console.log('higher');
guessesRemaining -= 1;
// $('remaining span').html(guessesRemaining);
console.log(guessesRemaining);
// return;
// playersGuessSubmission()
} else {
console.log('you win')
return;
}
}
}
目前,计算机生成一个随机数,用户可以猜测,然后用户通过循环控制台运行。将剩余的猜测注销到 0,不允许用户输入任何其他猜测。在每个“if”语句中添加返回行结束循环,剩余的猜测永远不会减少,用户可以无限输入,直到他们猜对为止。将 playerGuessSubmission() 函数添加到每个“if”语句会导致无限循环。
我是学习 JS 的新手(并且是自己做的),因此非常感谢任何指导!提前致谢。
在此处查看 JSFiddle:http://jsfiddle.net/njpatten/qo1d63da/1/ 随意将 console.log 更改为警报或替换 div 文本。
【问题讨论】:
-
1) 添加 type="button" 2) 在小提琴中使用 HEAD 而不是 onload:
$(function() { $("#playersGuess").on("click",function(e) { e.preventDefault(); playersGuessSubmission(); }); }); -
我要给你的一个提示是为每个按钮设置一个唯一的 ID。否则你会得到冲突的代码。此外,在 HTML 中,仅允许使用特定名称 ID 一次。如果您想更频繁地使用相同的名称,请将其添加为一个类。我要给你的另一个提示是使用 jQuery 句柄作为点击函数,而不是调用内联函数。稍后我可能会尝试修复您的代码
-
同时更改按钮或变量的名称。
标签: javascript jquery html css function