【JavaScript—前端快速入门】JavaScript 综合案例 — 猜数字
JavaScript 综合案例—猜数字
预期效果
需求
- 完成基本的页面布局
- 在文本框输入数字后,点击"猜"按钮,结果那一行会显示"猜大了"或者"猜小了"
- 每猜一次,就会增加一次猜的次数
- 猜到数字后,结果显示要猜的数字
- 按"重新开始一局游戏"的按钮,之前的内容初始化
- 生成的数字随机
完整代码 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>猜数字小游戏</title>
<script src="js/jquery-3.7.1.min.js"></script>
</head>
<body>
<button id = "reset">重新开始一局游戏</button>
<br>
<span>请输入要的猜数字</span>
<input type="text" id="guessnumber">
<button id = "guess">猜</button>
</br>
<span>已经猜的次数:</span> <span id = "count">0</span>
</br>
<span>结果</span> <span id = "result"></span>
<script>
// 生成一个数字
let number = Math.floor(Math.random() *100) + 1 ; // 生成 1 到 100 的数字
console.log(number);
// 计算猜数字的次数
let count = 0;
$("#guess").click(function(){
count++ ;
let guessnumber = $("#guessnumber").val();
$("#count").text(count);
if(number < guessnumber){
$("#result").text("猜大了");
$("#result").css("color" , "red");
}else if(number > guessnumber){
$("#result").text("猜小了");
$("#result").css("color" , "red");
}else{
$("#result").text("猜对了");
$("#result").css("color" , "green");
}
});
$("#reset").click(function(){
// 重新生成数字
number = Math.floor(Math.random() *100) + 1 ; // 生成 1 到 100 的数字
console.log(number);
// 猜数字次数置为0
count = 0;
// 结果中的文本重新赋值为空白
$("#result").text("");
// 猜数字的次数重新置为 0,也就是此时的 count
$("#count").text(count);
// 把文本框中的内容赋值为空
$("#guessnuber").val("");
});
</script>
</body>
</html>
第一步:写页面 |
第二步:随机生成一个1到100数字 |
<script>
let number = Math.floor(Math.random()*100)+1 ;
</script>
Math.random()*100 表示随机生成一个 [0,99] 的数字,为了避免小数的存在,把生成的数字作为参数,调用 Math.floor() 方法,这个方法表示取整,再 +1 ,表示生成一个 [1, 100] 的数字;
第三步:完善"猜"按钮的功能 |
为了方便完善功能,我们先把随机生成的数字打印出来:
接下来,通过 jquery 的 id 选择器,选中"猜"这个按钮,并且完善点击按钮后的操作:
按按钮后,要执行的步骤如下:
- 要拿到文本框中输入的数字;
- 和生成的数字进行比较,把"猜大了"或者"猜小了"这两个文本返回到结果;
我们先为文本框设置 id 属性并赋值:
注意通过 ID 选择器选择对应的元素,再完善功能:
第四步:完善"猜的次数"对应的功能 |
第五步:设置"重新开始一局游戏"的按钮 |
感悟 |
值得一提:在第一次写猜数字小游戏的时候,我们很容易犯拼写错误:
例如煮啵上面的这个错误,导致下面的三次比较,guessnumber 这个数字都因为没有赋值,而导致无论输入什么数字,提示框都显示猜对了:
对于这种不易察觉的小错误,我们可以把代码交给 deepseek
,在它回答的过程中,给煮啵的提示就是 guessnuber 拼写错误
,瞬间就让煮啵豁然开朗,对于开发中遇到的错误,我们只要利用好 AI ,会帮我们节省大量的时间和精力!