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

猜数字小游戏

前言

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

相关文章:

猜数字小游戏

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

在Windows上搭建ChatTTS:从本地部署到远程AI音频生成全攻略

文章目录 前言1. 下载运行ChatTTS模型2. 安装Cpolar工具3. 实现公网访问4. 配置ChatTTS固定公网地址 前言 本篇文章主要介绍如何快速地在Windows系统电脑中本地部署ChatTTS开源文本转语音项目&#xff0c;并且我们还可以结合Cpolar内网穿透工具创建公网地址&#xff0c;随时随…...

如何用好 CloudFlare 的速率限制防御攻击

最近也不知道咋回事儿,群里好多站长都反映被CC 攻击了。有人说依旧是 PCDN 干的,但明月感觉不像,因为有几个站长被 CC 攻击都是各种动态请求(这里的动态请求指的是.php 文件的请求)。经常被攻击的站长们都知道,WordPress /Typecho 这类动态博客系统最怕的就是这种动态请求…...

Unity3D 立方体纹理与自制天空盒详解

立方体纹理和自制天空盒是游戏开发中常用的技术之一&#xff0c;可以为游戏增添更加丰富的视觉效果。在本文中&#xff0c;我们将详细介绍Unity3D中立方体纹理和自制天空盒的使用方法&#xff0c;并给出相应的代码实现。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff…...

【工具】VSCODE下载,配置初次设置

打开 settings.json 文件&#xff0c;包含了 Visual Studio Code (VSCode) 中的各种用户配置。 {"files.associations": {"*.vue": "vue","*.wpy": "vue","*.wxml": "html","*.wxss": "…...

vue使用jquery的ajax,页面跳转

一、引入jquery依赖 打开终端更新npm npm install -g npm 更新完后引入输入npm install jquery 加载完后 在最外层的package.json文件中加入以下代码 配置好后导入jquery 设置变量用于接收服务器传输的数据 定义ajax申请数据 服务器的Controller层传输数据 &#xff08;…...

基于微信小程序的社区二手交易系统的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...

D34【python 接口自动化学习】- python基础之输入输出与文件操作

day34 文件关闭 学习日期&#xff1a;20241011 学习目标&#xff1a;输入输出与文件操作&#xfe63;-46 常见常新&#xff1a;文件的关闭 学习笔记&#xff1a; 文件关闭的内部工作过程 close&#xff08;&#xff09;函数 with语句 常用的打开关闭文件 # 文件关闭 # 方式…...

【Linux系列】set -euo pipefail 命令详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 &#xff08;一&#xff09;匹配单个中文字符 &#xff08;二…...

保护数据安全:JS前端加密与PHP后端解密实战教程,让敏感信息更安全

保护数据安全&#xff1a;JS前端加密与PHP后端解密实战教程&#xff0c;让敏感信息更安全 在Web开发中&#xff0c;确保用户提交的敏感信息&#xff08;如密码、手机号码等&#xff09;的安全性是非常重要的。一种常见的做法是使用加密技术来保护这些数据&#xff0c;在传输过…...

72 分布式锁

72 分布式锁 什么是分布式锁 分布式锁 分布式 锁。那么分布式是指的什么呢&#xff1f;锁又是锁的谁呢&#xff1f;在业务开发中我们经常会听到分布式分布式的概念&#xff0c;分布式也很简单&#xff0c;通俗的来说就是你具有多个服务器&#xff0c;每个服务器上运行的程序…...

使用Windbg分析dump文件排查C++软件异常的一般步骤与要点分享

目录 1、概述 2、打开dump文件&#xff0c;查看发生异常的异常类型码 3、查看发生异常的那条汇编指令 3.1、汇编代码能最直接、最本真的反映出崩溃的原因 3.2、汇编指令中访问64KB小地址内存区&#xff0c;可能是访问了空指针 3.3、汇编指令中访问了很大的内核态的内存地…...

30 天 Python 3 学习计划

30 天 Python 3 学习计划 https://www.runoob.com/python3/python3-tutorial.html 1. Python3 基础语法 2. Python3 基本数据类型 3. Python3 数据类型转换 4. Python3 解释器 5. Python3 注释 6. Python3 运算符 7. Python3 数字(Number) 8. Python3 字符串 …...

【MATLAB实例】批量提取.csv数据并根据变量名筛选

【MATLAB实例】批量提取.csv数据并根据变量名筛选 准备&#xff1a;数据说明MATLAB批量提取参考 准备&#xff1a;数据说明 .csv数据如下&#xff1a; 打开某表格数据&#xff0c;如下&#xff1a;&#xff08;需要说明的是此数据含表头&#xff09; 需求说明&#xff1a;需…...

【软件】Ubuntu下QT的安装和使用

【软件】Ubuntu下QT的安装和使用 零、前言 QT是应用得比较广泛的程序框架&#xff0c;是因为其跨平台特性比较好&#xff0c;且用C/C作为开发语言&#xff0c;性能也比较好&#xff0c;故本文介绍如何安装和使用QT&#xff0c;用的版本是QT 6.2.4&#xff0c;由于QT在Windows…...

在Spring Boot中具有多个实现的接口正确注入的六种方式

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 在Spring Boot中&#xff0c;当一个接口具有多个实现时&#xff0c;正确地将这些实现注入到需要使用它们的地方是一个常见的需求。以下是在Spring Boot中实现这一目标的六种方式&#xff1a; 1. 使用Autowir…...

登陆微软账户太慢了,如何解决

软账号登录慢解决办法&#xff1a; 打开“网络和Internet”选择“以太网”选择“更改适配器选项”选择现用网络&#xff0c;右键->属性选择“IPV4”右键属性更改DNS地址为以下两者4.2.2.14.2.2.2...

Vue3动态组件component不生效问题解决方法

问题&#xff1a; vue3循环渲染动态组件component不生效&#xff0c;页面空白 在vue3使用component动态组件展示组件时&#xff0c;组件就是不展示显示空白。在vue2中使用动态变量component展示组件都是没问题。试了很多方法 踩了很多坑&#xff0c;所以记录下&#xff1a; 登录…...

算力基础篇:从零开始了解算力

什么是算力 算力即计算能力&#xff08;Computing Power&#xff09;&#xff0c;狭义上指对数字问题的运算能力&#xff0c;而广义上指对输入信息处理后实现结果输出的一种能力。虽然处理的内容不同&#xff0c;但处理过程的能力都可抽象为算力。比如人类大脑、手机以及各类服…...

Redis 万字入门教程

0. 前言 文章已经收录到 GitHub 个人博客项目&#xff0c;欢迎 Star&#xff1a; https://github.com/chenyl8848/chenyl8848.github.io或者访问网站&#xff0c;进行在线浏览&#xff1a; https://chenyl8848.github.io/1. NoSQL 1.1 NoSQL 介绍 NoSQL(Not Only SQL )&…...

LeetCode :LCR 173. 点名

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;leetcode刷题 ​ ​ LeetCode :LCR 173. 点名 这个题就是缺失的数字&#xff0c;我们可以通过三种方式来解决这个问题。 1.可以通过位异或的方式来找到这个数&#xff08;相同的数异或为…...

Gin框架操作指南06:POST绑定(下)

官方文档地址&#xff08;中文&#xff09;&#xff1a;https://gin-gonic.com/zh-cn/docs/ 注&#xff1a;没用过Gin的读者强烈建议先阅读第一节&#xff1a;Gin操作指南&#xff1a;开山篇。 本节继续演示POST绑定&#xff0c;包括将request-body绑定到不同的结构体中&#x…...

LLaMA、llama.cpp和Ollama区别

LLaMA&#xff1a;LLaMA是由Meta&#xff08;Facebook的母公司&#xff09;开源的大型语言模型&#xff0c;它提供了不同规模的模型&#xff0c;包括1B、3B、11B和90B等参数规模的版本。LLaMA模型支持多语言对话&#xff0c;并在多个基准数据集上进行了评估&#xff0c;展现出与…...

NDK开发

NDK介绍 app为什么会把代码放到so中 a) C语言历史悠久&#xff0c;有很多现成的代码可用 b) C代码执行效率比Java高 c) Java代码很容易被反编译&#xff0c;而且反编译以后的逻辑很清晰 为什么要学习NDK开发 在安卓的so开发中&#xff0c;其他基本与C/C开发一致&#xff…...

docker overlay 占用空间太大,迁移到 /data/

将 Docker 的 overlay 存储驱动迁移到 /data/ 目录下&#xff0c;可以通过以下步骤完成&#xff1a; 1. 停止 Docker 服务 首先&#xff0c;停止 Docker 服务以确保没有容器在运行&#xff0c;并且数据不会被写入到当前的存储位置。 sudo systemctl stop docker2. 备份现有数…...

Windows性能监控与调优:让电脑运行如飞

一、性能监控 1. 使用任务管理器深入监控 打开任务管理器 我们可以通过按下Ctrl Shift Esc快捷键来打开任务管理器。 或者右键点击任务栏空白处&#xff0c;选择“任务管理器”。 查看性能 在任务管理器中&#xff0c;点击“性能”标签页。 我们可以看到“概览”标签&#x…...

前端响应式布局

1.什么是响应式布局&#xff1f; 响应式布局是一种使网页在不同设备&#xff08;如手机、平板和桌面&#xff09;上均能良好显示的设计理念。 2.响应式布局的原理&#xff1f; 通过灵活的网格布局、CSS 媒体查询和弹性单位等技术&#xff0c;实现内容自适应屏幕尺寸变化。 3.响…...

力扣MySQL 1581

先把两张表连接&#xff0c;amount为null 的正是我们需要的&#xff0c;再按customer_id聚合 select Visits.visit_id,customer_id ,Transactions.visit_id ,transaction_id ,amount from Visits left join Transactions on Visits.visit_idTransactions.visit_id 正确代码&…...

就是这个样的粗爆,手搓一个计算器:科学计算器

作为程序员&#xff0c;没有合适的工具&#xff0c;就得手搓一个&#xff0c;PC端&#xff0c;移动端均可适用。废话不多说&#xff0c;直接上代码。 HTML: <div class"calculator"><div class"display-wrapper"><div class"display…...