前端练习小项目 —— 养一只电子蜘蛛

在学习前端开发的过程中,构建一个简单的小游戏或小项目是一个很好的实践方式,这不仅能够提升我们的编程能力,还能加深对HTML、CSS和JavaScript的理解。在这个项目中,我们将制作一个“电子蜘蛛”养成小游戏,玩家可以与电子蜘蛛互动,观察其健康值、饥饿值以及快乐值的变化。

项目需求

  1. 电子蜘蛛有三个属性:健康值、饥饿值和快乐值。
  2. 玩家可以通过按钮对电子蜘蛛进行喂食、玩耍和查看状态。
  3. 每隔一段时间,这三个值会逐渐降低。
  4. 如果任一值变为零,则电子蜘蛛“死亡”。

项目结构

我们将项目拆分为HTML、CSS和JavaScript三部分。

HTML 结构

首先,我们定义HTML页面的结构,包含电子蜘蛛的信息展示区域和操作按钮。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>养一只电子蜘蛛</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <h1>养一只电子蜘蛛</h1>
        <img id="spider" src="spider.png" alt="电子蜘蛛">
        <div class="status">
            <p>健康值:<span id="health">100</span></p>
            <p>饥饿值:<span id="hunger">100</span></p>
            <p>快乐值:<span id="happiness">100</span></p>
        </div>
        <button id="feed">喂食</button>
        <button id="play">玩耍</button>
        <button id="status">查看状态</button>
        <div id="message"></div>
    </div>
    <script src="script.js"></script>
</body>
</html>

CSS 样式

接下来,我们为页面添加一些简单的CSS样式,使其看起来更加美观。

body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    text-align: center;
}

.container {
    margin: 50px auto;
    padding: 20px;
    border: 2px solid #333;
    border-radius: 10px;
    background-color: #fff;
    width: 300px;
}

button {
    margin: 10px;
    padding: 10px 20px;
    border: none;
    background-color: #28a745;
    color: white;
    cursor: pointer;
}

button:hover {
    background-color: #218838;
}

JavaScript 功能实现

最后,我们编写JavaScript代码,实现电子蜘蛛的功能和交互逻辑。

let health = 100;
let hunger = 100;
let happiness = 100;
const healthDisplay = document.getElementById('health');
const hungerDisplay = document.getElementById('hunger');
const happinessDisplay = document.getElementById('happiness');
const messageDisplay = document.getElementById('message');

function checkStatus() {
    if (health <= 0) {
        messageDisplay.innerText = '电子蜘蛛已死亡,快来重新养一只吧!';
        disableButtons();
    }
}

function disableButtons() {
    document.getElementById('feed').disabled = true;
    document.getElementById('play').disabled = true;
    document.getElementById('status').disabled = true;
}

document.getElementById('feed').addEventListener('click', () => {
    hunger += 20;
    if (hunger > 100) hunger = 100;
    messageDisplay.innerText = '你喂了电子蜘蛛!';
    updateDisplays();
});

document.getElementById('play').addEventListener('click', () => {
    happiness += 20;
    if (happiness > 100) happiness = 100;
    messageDisplay.innerText = '你和电子蜘蛛玩得很开心!';
    updateDisplays();
});

document.getElementById('status').addEventListener('click', () => {
    messageDisplay.innerText = `健康值:${health},饥饿值:${hunger},快乐值:${happiness}`;
});

function updateDisplays() {
    healthDisplay.innerText = health;
    hungerDisplay.innerText = hunger;
    happinessDisplay.innerText = happiness;
}

setInterval(() => {
    health -= 1;
    hunger -= 1;
    happiness -= 1;
    updateDisplays();
    checkStatus();
}, 10000); // 每10秒降低一次值

项目总结

通过这个简单的“电子蜘蛛”养成游戏,我们实现了基础的HTML结构、CSS样式以及JavaScript的逻辑功能。这不仅让我们熟悉了前端开发的基本流程,还体验到了游戏设计中的状态管理和用户交互。项目可以进一步扩展,例如增加更复杂的动画效果、状态变化或增加更多的饲养选项等。希望这个小项目能够激发你对前端开发的兴趣和热情!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部