猜数字小游戏(网页版)

简介: 在输入框内输一个数字,点击后面的“猜”按钮,系统会根据你猜的数字的大小,返回你是猜大猜小还是猜正确,系统还会统计你猜的次数,在猜数字的途中你点击按钮随时可以重新开始游戏

🍊一. 游戏简介

在输入框内输一个数字,点击后面的“猜”按钮,系统会根据你猜的数字的大小,返回你是猜大猜小还是猜正确,系统还会统计你猜的次数,在猜数字的途中你点击按钮随时可以重新开始游戏


🍈二. 页面预览

因为是简易版,所以没有太多的样式


👁️‍🗨️猜数字之前:


image.png

👁️‍🗨️猜小了:


image.png


👁️‍🗨️猜大了:

image.png



👁️‍🗨️猜对了:

image.png

🥭三. 页面实现

👁️‍🗨️页面框架:

<body>
    <div id="i1">
        <span>请输入您猜的数字:</span>
        <input type="text" id="text">
        <input type="button" value="猜" id="guess">
        <br>
        <span>您已经猜的次数:</span>
        <span id="count">0</span>
        <br>
        结果:<span class="c1"></span>
        <br>
        <br>
        <input type="button" value="重新开始游戏" id="reBu">
    </div>
</body>


👁️‍🗨️页面简单样式:

<style>
        #i1 {
            box-sizing: border-box;
            width: 400px;
            height: 300px;
            border-style: dashed;
            border-color:blue;
            padding: 85px;
            margin-top: 150px;
            margin-left: 500px;
        }
    </style>

 

🍋四. 功能实现

使用document.querySelector()获取页面上的元素:

var text = document.querySelector("#text");//获取输入元素
    var count = document.querySelector("#count");//获取次数元素
    var result = document.querySelector(".c1");//获取结果元素
    var guessBu = document.querySelector("#guess");//获取“猜”按钮元素
    var reBu = document.querySelector("#reBu");//获取“重新开始”按钮元素
    var sum = 0;//猜的总次数

 

👁️‍🗨️生成随机数:

var guessNumber = Math.floor(Math.random()*100)+1;//生成随机数

 

说明:Math.random()随机生成[0,1)的数字,乘上100范围为[0,100),加上1,范围为[1,101),使用Math.floor()去掉小数部分,最后生成数字的范围为[0,100]


👁️‍🗨️给“猜”按钮绑定点击事件:


🍁点击按钮后,启动比较功能

🍁首先将猜的总次数sum++,并将sum设置到页面中

🍁需要先用parseInt()将输入框的内容转为整数,再进行比较

🍁若输入的数大,则将提示颜色调整为红色,并设置到页面中

🍁若输入的数小,则将提示颜色调整为红色,并设置到页面中

🍁若输入的数为系统生成的随机数,则将提示信息调整为绿色,并设置到页面中

guessBu.onclick = function(){ //给“猜”按钮绑定点击功能
        sum++;
        count.innerHTML = sum;
        var userGuess = parseInt(text.value);//获取输入的数字
        if(userGuess > guessNumber){ //如果输入大于系统生成数字
            result.innerHTML = "很遗憾,您猜大了!";
            result.style.color = "red"; //调正颜色为红色
        }else if(userGuess < guessNumber){//如果输入小于系统生成数字
            result.innerHTML = "很遗憾,您猜小了!";
            result.style.color = "red";
        }else { //输入等于系统生成数字
            result.className = "c2";
            result.innerHTML = "恭喜您,您猜对了!";
            result.style.color = "green";//调整颜色为绿色
        }
    }

 

👁️‍🗨️给“重新开始游戏”按钮绑定点击事件:


🍂首先重新生成随机数

🍂再将猜测的总次数置0,并设置到页面中

🍂再将提示信息置空,并设置到页面中

🍂最后将输入框数字置空,并设置到页面中

reBu.onclick = function(){//给“重新开始”按钮绑定点击事件
        guessNumber = Math.floor(Math.random()*100)+1;//重新生成随机数
        sum = 0;//猜的总次数置0
        count.innerHTML = sum;//将0填充
        result.innerHTML = "";//结果置空
        text.value = "";//输入框置空
    }


🥝五. 参考源码

拿来即可在自己电脑上运行,大家快来试试吧!

<!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>
    <style>
        #i1 {
            box-sizing: border-box;
            width: 400px;
            height: 300px;
            border-style: dashed;
            border-color:blue;
            padding: 85px;
            margin-top: 150px;
            margin-left: 500px;
        }
    </style>
</head>
<body>
    <div id="i1">
        <span>请输入您猜的数字:</span>
        <input type="text" id="text">
        <input type="button" value="猜" id="guess">
        <br>
        <span>您已经猜的次数:</span>
        <span id="count">0</span>
        <br>
        结果:<span class="c1"></span>
        <br>
        <br>
        <input type="button" value="重新开始游戏" id="reBu">
    </div>
</body>
<script>
    var text = document.querySelector("#text");//获取输入元素
    var count = document.querySelector("#count");//获取次数元素
    var result = document.querySelector(".c1");//获取结果元素
    var guessBu = document.querySelector("#guess");//获取“猜”按钮元素
    var reBu = document.querySelector("#reBu");//获取“重新开始”按钮元素
    var guessNumber = Math.floor(Math.random()*100)+1;//生成随机数
    var sum = 0;//猜的总次数
    guessBu.onclick = function(){ //给“猜”按钮绑定点击功能
        sum++;
        count.innerHTML = sum;
        var userGuess = parseInt(text.value);//获取输入的数字
        if(userGuess > guessNumber){ //如果输入大于系统生成数字
            result.innerHTML = "很遗憾,您猜大了!";
            result.style.color = "red"; //调正颜色为红色
        }else if(userGuess < guessNumber){//如果输入小于系统生成数字
            result.innerHTML = "很遗憾,您猜小了!";
            result.style.color = "red";
        }else { //输入等于系统生成数字
            result.className = "c2";
            result.innerHTML = "恭喜您,您猜对了!";
            result.style.color = "green";//调整颜色为绿色
        }
    }
    reBu.onclick = function(){//给“重新开始”按钮绑定点击事件
        guessNumber = Math.floor(Math.random()*100)+1;//重新生成随机数
        sum = 0;//猜的总次数置0
        count.innerHTML = sum;//将0填充
        result.innerHTML = "";//结果置空
        text.value = "";//输入框置空
    }
</script>
</html>


相关文章
|
人工智能 架构师 算法
阿里P6到P9的技术栈有哪些?程序员该如何准备学习?如何进入大厂
相信每一个程序员应该都有一个大厂梦,但是不知道如何进入大厂,或者说是技术栈和项目经验达不到大厂的要求! 那就有人问了,那怎么样才能进入大厂呢?进入大厂的话都有哪些要求呢? 小编,就给大家简单介绍一下,要想进入大厂需要达到的要求! 总结起来一共有四点:1.学历;2.技术栈+项目经验;3.心理素质+思维转变;4.面试技巧;
|
11月前
|
编解码 JavaScript 开发工具
鸿蒙应用开发从入门到实战(二):DevEco Studio工具安装
大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,欢迎关注!
842 1
|
机器学习/深度学习 算法 安全
深度长文I 深度合成服务类-算法备案该怎么做?
本文详解“深度合成服务类”算法及其备案要求,涵盖定义、类型、备案流程等内容,助你全面理解合规要点。
|
SQL 大数据 数据处理
Flink SQL 详解:流批一体处理的强大工具
Flink SQL 是为应对传统数据处理框架中流批分离的问题而诞生的,它融合了SQL的简洁性和Flink的强大流批处理能力,降低了大数据处理门槛。其核心工作原理包括生成逻辑执行计划、查询优化和构建算子树,确保高效执行。Flink SQL 支持过滤、投影、聚合、连接和窗口等常用算子,实现了流批一体处理,极大提高了开发效率和代码复用性。通过统一的API和语法,Flink SQL 能够灵活应对实时和离线数据分析场景,为企业提供强大的数据处理能力。
2494 27
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
526 8
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
并行计算 算法 安全
面试必问的多线程优化技巧与实战
多线程编程是现代软件开发中不可或缺的一部分,特别是在处理高并发场景和优化程序性能时。作为Java开发者,掌握多线程优化技巧不仅能够提升程序的执行效率,还能在面试中脱颖而出。本文将从多线程基础、线程与进程的区别、多线程的优势出发,深入探讨如何避免死锁与竞态条件、线程间的通信机制、线程池的使用优势、线程优化算法与数据结构的选择,以及硬件加速技术。通过多个Java示例,我们将揭示这些技术的底层原理与实现方法。
1048 3
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
|
NoSQL 安全 Redis
redis持久化策略
Redis 提供了两种主要的持久化策略:RDB(Redis DataBase)和AOF(Append Only File)。RDB通过定期快照将内存数据保存为二进制文件,适用于快速备份与恢复,但可能因定期保存导致数据丢失。AOF则通过记录所有写操作来确保数据安全性,适合频繁写入场景,但文件较大且恢复速度较慢。两者结合使用可增强数据持久性和恢复能力,同时Redis还支持复制功能提升数据可用性和容错性。
372 5
|
安全 程序员 API
|
安全 数据安全/隐私保护 虚拟化
win11家庭版怎么升级专业版
Windows 11家庭版用户常需升级到专业版以解锁远程桌面、组策略和BitLocker等高级功能。在升级前,备份数据、确保系统更新至最新。购买正版密钥后,通过“设置”-&gt;“系统”-&gt;“激活”输入密钥进行升级。遵循提示完成升级过程,系统会自动应用专业版特性。如有问题,参考官方文档或寻求技术支持。
win11家庭版怎么升级专业版