自学内容网 自学内容网

猜数字小游戏

前言

猜数字游戏是一款经典且简单的互动游戏,常常用于提高逻辑思维能力和锻炼数学技巧。本文将深入探讨一段用 JavaScript 编写的猜数字游戏代码,帮助读者理解游戏的基本逻辑和实现方法。这段代码不仅适合初学者练习编程技巧,也是了解用户交互的重要示例。

概要

在这段 JavaScript 代码中,我们实现了一个基本的猜数字游戏,具体功能如下:

  1. 随机数生成:游戏开始时,程序随机生成一个 1 到 100 之间的整数,作为用户需要猜测的目标数字。
  2. 用户输入:通过 prompt 函数,用户可以输入他们的猜测,系统会根据用户的输入进行反馈。
  3. 反馈机制:游戏会根据用户的猜测给出相应的提示,包括“你猜大了”、“你猜小了”或者“恭喜你,猜对了”。用户最多可以进行 100 次猜测,或在任何时刻选择退出游戏。
  4. 输入有效性检查:虽然代码简单易懂,仍可在后续版本中加入更严格的输入有效性检查,确保用户输入符合预期。

以下是一个代码小事例,有函数和for循环两种方法,可分别注释(for循环已注释) 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>猜数字小游戏</title>
</head>
<body>
<script>
// 用函数实现猜数字
alert("亲,请在1~100之内猜个数字哦");

function guessNumber() {
let num = Math.floor(Math.random() * 100) + 1; // 生成随机数
console.log(num); // 在控制台输出随机数,方便调试
while (true) { // 使用 while 循环替代 for 循环
let guess = prompt("猜猜是什么数字,最小值1,最大值100");
if (guess === null) {
alert("游戏结束啦");
break; // 用户点击取消,退出游戏
}

guess = Number(guess); // 将输入的字符串转换为数字

if (guess < 1 || guess > 100 || isNaN(guess)) {
alert("请输入一个有效的数字(1~100)"); // 检查输入是否在有效范围内
} else if (guess > num) {
alert("好遗憾,你猜大了,再试一下吧");
} else if (guess < num) {
alert("真遗憾,你猜小了,再试一下吧");
} else {
alert("恭喜猜对啦,你真帅");
break; // 猜对了,退出循环
}
}
}

guessNumber();


// 用for循环实现猜数字
// 随机生成1-100的数字
let num = Math.floor(Math.random() * 100) + 1;
// 提示用户猜数字
alert("亲,请在1~100之内猜个数字哦");
// 使用for循环进行最多100次的猜测
for (let i = 0; i < 100; i++) {
// 提示用户输入猜测的数字
let guess = prompt("猜猜是什么数字,最小值1,最大值100");
// 检查用户是否点击了取消按钮
if (guess === null) {
alert("游戏结束啦");
break; // 结束游戏
}

// 将用户输入的字符串转换为数字
guess = Number(guess);

// 检查用户的猜测是否大于随机生成的数字
if (guess > num) {
alert("你猜大了,再试一下吧");
}
// 检查用户的猜测是否小于随机生成的数字
else if (guess < num) {
alert("你猜小了,再试一下吧");
}
// 如果猜测正确
else {
alert("恭喜你!猜对啦,你真是太棒了!");
// 猜对了退出循环
break;
}
}
</script>
</body>
</html>

结尾

通过本文,我们分析了一个简单但有趣的猜数字游戏代码的实现。此游戏不仅有助于编程初学者熟悉基本的 JavaScript 语法和控制结构,同时也是与用户进行交互的良好示例。随着学习的深入,读者可以在此基础上进行扩展和改进,例如增加难度选择、记录历史猜测或完善用户界面。编写此类游戏可以激发创造力,提升编程技能,并为后续更复杂的项目打下坚实的基础。希望通过这篇文章,您能对编程有更深的理解与热爱,期待您的下一次编程冒险!


原文地址:https://blog.csdn.net/BANaanaa/article/details/142962593

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!