当前位置:首页 > JavaScript

js实现猜大小

2026-02-02 14:09:04JavaScript

js实现猜大小

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如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

节流js实现

节流js实现

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

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…