当前位置:首页 > 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实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swip…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas…