当前位置: 首页 > article >正文

猜数字小游戏

前言

猜数字游戏是一款经典且简单的互动游戏,常常用于提高逻辑思维能力和锻炼数学技巧。本文将深入探讨一段用 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 语法和控制结构,同时也是与用户进行交互的良好示例。随着学习的深入,读者可以在此基础上进行扩展和改进,例如增加难度选择、记录历史猜测或完善用户界面。编写此类游戏可以激发创造力,提升编程技能,并为后续更复杂的项目打下坚实的基础。希望通过这篇文章,您能对编程有更深的理解与热爱,期待您的下一次编程冒险!


http://www.kler.cn/a/350142.html

相关文章:

  • 网络安全 | 入侵检测系统(IDS)与入侵防御系统(IPS):如何识别并阻止威胁
  • ARM GCC编译器
  • deep face cam 部署报错解决
  • MYSQL学习笔记(五):单行函数(字符串、数学、日期时间、条件判断、信息、加密、进制转换函数)讲解
  • python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖
  • 汇编与逆向(一)-汇编工具简介
  • 【网络安全】未加密的F5 BIG-IP Cookie存在严重漏洞将被攻击者利用
  • 3dsMax添加天空盒
  • Flythings学习(四)串口通信
  • React Query 和 React Context
  • 生物特征验证的原理及使用例子
  • 软件测试工作中-商城类项目所遇bug点
  • 第十三章 RabbitMQ之消息幂等性
  • 端到端的开源OCR模型:GOT-OCR-2.0,支持场景文本、文档、乐谱、图表、数学公式等内容识别!
  • Vue 多次尝试请求ajax
  • QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
  • 【音频生成】mac安装ffmpeg
  • Python | Leetcode Python题解之第476题数字的补数
  • 【vue】前端学习
  • 【ShuQiHere】 K-means 聚类算法详解:公式、代码与实战
  • Gin解说
  • 二、变量数据类型
  • OpenStack服务Swift重启失效(已解决)
  • 漏洞挖掘 | 记一次越权修改敏感信息
  • react+ts+vite 别名一直爆红问题
  • ChatTTS 本地安装和测试