当前位置:首页 > JavaScript

js实现猜大小

2026-02-02 14:09:04JavaScript

实现思路

通过生成随机数作为目标值,用户输入猜测数字后与目标值比较,返回提示信息(太大、太小或正确)。需包含输入验证和重新开始功能。

js实现猜大小

核心代码

// 生成1-100的随机整数作为答案
const target = Math.floor(Math.random() * 100) + 1;
let attempts = 0;

function checkGuess() {
    const guessInput = document.getElementById('guessInput');
    const message = document.getElementById('message');
    const guess = parseInt(guessInput.value);

    // 输入验证
    if (isNaN(guess) || guess < 1 || guess > 100) {
        message.textContent = '请输入1-100的有效数字';
        return;
    }

    attempts++;

    // 比较逻辑
    if (guess > target) {
        message.textContent = '太大了!';
    } else if (guess < target) {
        message.textContent = '太小了!';
    } else {
        message.textContent = `恭喜!用了${attempts}次猜中`;
        disableInput();
    }
}

function disableInput() {
    document.getElementById('guessInput').disabled = true;
    document.getElementById('submitBtn').disabled = true;
}

HTML结构

<div class="game-container">
    <h3>猜数字游戏 (1-100)</h3>
    <input type="number" id="guessInput" min="1" max="100">
    <button id="submitBtn" onclick="checkGuess()">提交</button>
    <p id="message"></p>
    <button id="resetBtn" onclick="resetGame()">重新开始</button>
</div>

重置功能

function resetGame() {
    target = Math.floor(Math.random() * 100) + 1;
    attempts = 0;
    document.getElementById('guessInput').value = '';
    document.getElementById('message').textContent = '';
    document.getElementById('guessInput').disabled = false;
    document.getElementById('submitBtn').disabled = false;
}

样式建议

.game-container {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}
input, button {
    margin: 10px 0;
    padding: 8px;
}
#message {
    min-height: 20px;
    color: #666;
}

扩展功能建议

  • 添加尝试次数限制(如最多10次)
  • 实现难度选择(调整数字范围)
  • 添加历史猜测记录显示
  • 增加动画效果增强交互体验

标签: 大小js
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…