当前位置:首页 > 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';
}

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

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 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.defin…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…