javascript - 在猜数字游戏中进行猜测时如何编码您所做的猜测次数?
问题描述
基本上,我创建了一个猜数字游戏。它运作良好,但我需要帮助计算用户所做的猜测次数。这是 HTML 和 JS 代码。如果用户得到 X 次猜测中的数字,我希望游戏显示“你猜中了 X 次猜测中的数字!你还有 Y 次猜测”
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="style.css" type="text/css" />
<!--bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
</head>
<body>
<center>
<div id=text>
<h1> High-Low Game! </h1>
<p>Please enter a number between 0 and 10000</p>
<div class="input-group input-group-lg" id="input">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-lg">Enter Number Here.</span>
</div>
<input type="text" class="form-control" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-lg" id="number">
</div>
<br>
<button type="button" class="btn btn-danger" onclick="checkValue()">Guess</button>
<br>
<h2 id='result'>Make a inference!</h2>
</div>
</center>
<script src="script.js"></script>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</body>
</html>
let targetNum;
targetNum = Math.floor((Math.random()*10000)+1);
function checkValue(){
let result = parseInt($(".form-control").val())
if(result>targetNum){
$("#result").css("color","red");
$("#result").text("Very Bad Not Even Close");
} else if(result < targetNum){
$("#result").css("color","red");
$("#result").text("Almost There!");
} else if(result == targetNum){
$("#result").css("color","green");
$("#result").text("Very good at guessing! The number was" + targetNum);
} else {
$("#result").text("Please re input with an actual number -_-");
}
}
if (guessCount > 1) {
if (userGuess === computerGuess) {
alert("Winner winner taco dinner!");
break;
} else if (userGuess > computerGuess) {
guessCount--;
alert("Please guess lower. You have " + guessCount + " guesses remaining.");
} else {
guessCount--;
alert("Please guess higher. You have " + guessCount + " guesses remaining.");
}
} else {
alert("MUh hahahahah you lose!");
break;
解决方案
您的代码有几个问题。您实际上不需要跟踪用户的猜测,而只需跟踪用户留下的猜测。您需要在函数之外定义它。此外,您的 if 语句集合编码不正确,也必须放在函数内。让我知道这是否适合您,或者您有什么不明白的地方
var guessLeft=10;
let targetNum;
targetNum = Math.floor((Math.random()*10000)+1);
//console.log(targetNum);
function checkValue(){
let result = parseInt($(".form-control").val())
if(result>targetNum){
$("#result").css("color","red");
$("#result").text("Very Bad Not Even Close");
} else if(result < targetNum){
$("#result").css("color","blue");
$("#result").text("Almost There!");
} else if(result == targetNum){
$("#result").css("color","green");
$("#result").text("Very good at guessing! The number was" + targetNum);
} else {
$("#result").text("Please re input with an actual number -_-");
}
guessLeft--;
if (guessLeft >= 0) {
if (result === targetNum) {
alert("Winner winner taco dinner!");
}else if (result > targetNum) {
alert("Please guess lower. You have " + guessLeft + " guesses remaining.");
}else{
alert("Please guess higher. You have " + guessLeft + " guesses remaining.");
}
}else{
alert("MUh hahahahah you lose!");
}
}
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="style.css" type="text/css" />
<!--bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
</head>
<body>
<center>
<div id=text>
<h1> High-Low Game! </h1>
<p>Please enter a number between 0 and 10000</p>
<div class="input-group input-group-lg" id="input">
<div class="input-group-prepend">
<span class="input-group-text" id="inputGroup-sizing-lg">Enter Number Here.</span>
</div>
<input type="text" class="form-control" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-lg" id="number">
</div>
<br>
<button type="button" class="btn btn-danger" onclick="checkValue()">Guess</button>
<br>
<h2 id='result'>Make a inference!</h2>
</div>
</center>
<script src="script.js"></script>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</body>
</html>
推荐阅读
- android - 为什么我的通知栏在空闲后尝试重新制作时消失了?
- flutter - 如何在颤动中打开系统特定的默认应用程序?
- javascript - Jquery在键入时更改输入类
- php - 尊重验证特定字段的可选输入数组
- pointers - 函数指针参数变化
- virtual-machine - 如何在 linux vm 上挂载 NFS 数据存储
- ionic-framework - 点击事件不起作用,出现非错误
- jquery - Onclick 或 click 功能在带有 touchEnabled 的 bxSlider 内不起作用:true
- windows-10-iot-core - 是否有适用于 windows 10 iot 的服务 DHCP 服务器?
- javascript - 打开/关闭浏览器窗口的最佳方式?