当前位置:首页 > JavaScript

小游戏js实现

2026-02-03 01:11:52JavaScript

使用JavaScript实现小游戏

创建一个小游戏需要HTML、CSS和JavaScript的结合。以下是一个简单的猜数字游戏的实现方法。

HTML结构

<!DOCTYPE html>
<html>
<head>
    <title>猜数字游戏</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            margin-top: 50px;
        }
        #game {
            margin: 20px auto;
            padding: 20px;
            border: 1px solid #ccc;
            width: 300px;
            border-radius: 10px;
        }
        #guess {
            padding: 5px;
            width: 100px;
        }
        button {
            padding: 5px 15px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        #message {
            margin-top: 20px;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div id="game">
        <h1>猜数字游戏</h1>
        <p>我已经想好了一个1-100之间的数字,猜猜看是多少?</p>
        <input type="number" id="guess" min="1" max="100">
        <button onclick="checkGuess()">猜</button>
        <div id="message"></div>
        <div id="attempts">尝试次数: 0</div>
    </div>
    <script src="game.js"></script>
</body>
</html>

JavaScript代码(game.js)

// 生成随机数
let randomNumber = Math.floor(Math.random() * 100) + 1;
let attempts = 0;

function checkGuess() {
    const guessInput = document.getElementById('guess');
    const message = document.getElementById('message');
    const attemptsDisplay = document.getElementById('attempts');

    const userGuess = parseInt(guessInput.value);

    if (isNaN(userGuess) || userGuess < 1 || userGuess > 100) {
        message.textContent = '请输入1-100之间的有效数字';
        return;
    }

    attempts++;
    attemptsDisplay.textContent = `尝试次数: ${attempts}`;

    if (userGuess === randomNumber) {
        message.textContent = `恭喜!你猜对了!数字是${randomNumber}`;
        message.style.color = 'green';
        guessInput.disabled = true;
    } else if (userGuess < randomNumber) {
        message.textContent = '太小了,再试一次';
        message.style.color = 'red';
    } else {
        message.textContent = '太大了,再试一次';
        message.style.color = 'red';
    }

    guessInput.value = '';
    guessInput.focus();
}

游戏实现要点

随机数生成 使用Math.random()生成0-1之间的随机数,乘以100后取整,加1得到1-100的随机整数。

游戏逻辑 比较用户输入与随机数,给出"太大"、"太小"或"正确"的反馈。每次猜测后清空输入框并保持焦点。

界面交互 通过DOM操作更新消息和尝试次数显示。猜中后禁用输入框防止继续游戏。

扩展功能建议

添加重新开始按钮

function restartGame() {
    randomNumber = Math.floor(Math.random() * 100) + 1;
    attempts = 0;
    document.getElementById('guess').disabled = false;
    document.getElementById('message').textContent = '';
    document.getElementById('attempts').textContent = '尝试次数: 0';
}

添加难度选择 可以通过修改随机数范围来调整难度,例如:

小游戏js实现

function setDifficulty(level) {
    if (level === 'easy') {
        randomNumber = Math.floor(Math.random() * 50) + 1;
    } else if (level === 'hard') {
        randomNumber = Math.floor(Math.random() * 200) + 1;
    } else {
        randomNumber = Math.floor(Math.random() * 100) + 1;
    }
    restartGame();
}

这个基础框架可以扩展为更复杂的游戏,如添加计时功能、保存最高分、添加动画效果等。

标签: 小游戏js
分享给朋友:

相关文章

js实现分页

js实现分页

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

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

节流js实现

节流js实现

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

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…