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

利用JavaScript实现猜数字

一,使用while循环实现

以下代码为固定数字非随机数,答案通过弹窗来设置,结果太唯一。

let number;
			while (true) {
				number = prompt('我正在想一个1-10的数字,你猜猜看?');
				switch (number) {
					case "1":
						alert("小了");
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "2":
						alert("小了");
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break; 
					case "3":
						alert("小了");
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "4":
						alert("接近了");
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "5":
						alert("接近了");
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "6":
						alert("答对了!!!!!!!!!!!!!!!!!!!!!")
						break;
					case "7":
						alert("大了")
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "8":
						alert("大了")
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "9":
						alert("有点大了")
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					case "10":
						alert("太大了")
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						break;
					default:
						alert("请输入1-10的数字")
						// prompt('我正在想一个1-10的数字,你猜猜看?')
						// break;
				}
			}

二,使用for循环来实现

以下代码添加了获取一个1-100的随机数(Math.random)并向上取整(Math.floor),并且添加了猜测的次数为10次,满十次就结束抽奖。每次答案都不唯一,更有趣味。

// 生成一个1 - 100之间的随机数作为要猜测的数字
			let getNumber = Math.floor(Math.random() * 100) + 1;
			let guessFois = 0; /* 次数 */

			for (let i = 0; i < 10; i++) {
				/* 每次循环+1次 */
				guessFois++;
                  //声明一个变量存用户输入的数字
				let guess = parseInt(prompt("请输入1 - 100之间的数字"));
				if (guess == getNumber) {
					alert("猜对了");
					break;
				} else if (guess < getNumber) {
					alert("猜小了");
				} else {
					alert("猜大了");
				}
				if (i == 9) {
					alert("10次机会用完了,正确数字是 " + getNumber + " ,下次再试试吧。");
				}
			}

三,使用函数封装

函数封装猜数字的代码,可以在代码的任何地方调用,更方便简洁,大幅度降低了代码量。

	/* 不用for/while 用函数封装 */
			let times = 0; // 猜测的次数,初始化为0
			let getNumber = Math.floor(Math.random() * 100) + 1; // 生成随机数供猜测

			function numberIs() {
				/* 上判断先判断次数 */
				if (times >= 10) {
					// 10次机会用完的情况下
					alert("10次机会用完了,正确数字是 " + getNumber + " 你真笨哈哈哈");
					/* 反值 并结束 */
					return;
				}
				// 给弹窗命名
				let guess = prompt("请输入1 - 100之间的数字");
				// 判断结果,如果等于
				if (guess == getNumber) {
					// 弹窗并结束 (相当于结束当前的猜测流程)
					alert("猜对了");
					return;
					/* 否则 */
				} else if (guess < getNumber) {
					alert("猜小了");
					/* 否则 */
				} else {
					alert("猜大了");
				}
				times++; // 猜测次数加1
				/*   🤩 这是启动整个猜数字游戏流程的初始调用,让游戏开始运行 */
				numberIs(); // 调用自身,继续下一轮猜测
			}
			/* 再次调用函数 
			    🤩 这里调用两次函数 是为了不用for/while来实现循环*/
			numberIs();


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

相关文章:

  • 【NX入门篇】
  • Ⅱ.INTRODUCTION TO CUDA C
  • Python自学 - 递归函数
  • CSS学习记录21
  • ubuntu22.04录屏黑屏,飞书共享屏幕黑屏问题
  • React 数据是怎样传递的
  • k8S-foundation-_ label、ns
  • Java设计模式 —— 【行为型模式】模板方法模式(Template Method Pattern) 详解
  • EasyExcel(环境搭建以及常用写入操作)
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之8 重新开始 之1
  • 如何在 Ubuntu 22.04 上添加 Swap 内存
  • nginx中try_files $uri $uri index.html的作用 和 $uri的含义
  • 【每日学点鸿蒙知识】PersistentStorage持久化、插槽方法、相对布局、上拉加载下拉刷新、List联动滑动
  • 【GO基础学习】Gin 框架中间件的详解
  • Error: The Calculated NPWS= 84330 != The Read NPWS= 84328
  • 优化租赁小程序提升服务效率与用户体验的策略与实践
  • 代码随想录算法训练营第六天 | 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
  • 如何利用无线路由器实现水泵房远程监测管理
  • 关于科研工具的思考
  • 企业能源物联网数据采集设备
  • WOFOST作物模型(3):敏感性分析
  • 学习鸿蒙第一天
  • shell指令操作
  • 机器学习之逻辑回归算法、数据标准化处理及数据预测和数据的分类结果报告
  • 【VBA】EXCEL - VBA 创建 Sheet 表的 6 种方法,以及注意事项
  • pycharm如何运行js代码详细图文教程