首页 > 其他分享 >使用HTML5写一个打地鼠的小游戏

使用HTML5写一个打地鼠的小游戏

时间:2024-12-23 09:25:29浏览次数:3  
标签:function const holes 一个打 地鼠 小游戏 HTML5 hole mole

创建一个简单的打地鼠游戏涉及HTML5、CSS和JavaScript。以下是一个基本的示例,你可以在此基础上进行扩展和改进。

1. HTML结构

<!DOCTYPE html>
<html lang="en">
<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>
    <h1>打地鼠游戏</h1>
    <div id="gameArea">
        <!-- 地鼠洞 -->
        <div class="hole">
            <div class="mole"></div>
        </div>
        <!-- 你可以添加更多的地鼠洞 -->
    </div>
    <script src="script.js"></script>
</body>
</html>

2. CSS样式 (styles.css)

#gameArea {
    width: 600px;
    height: 400px;
    position: relative;
    background-color: #f0f0f0;
    border: 2px solid #000;
}

.hole {
    width: 100px;
    height: 100px;
    background-color: #888;
    border: 2px solid #000;
    position: absolute;
}

.mole {
    width: 80px;
    height: 80px;
    background-color: brown;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 10px;
    transform: translateY(100%);
    transition: transform 0.3s;
}

.hole.active .mole {
    transform: translateY(0%);
}

3. JavaScript逻辑 (script.js)

document.addEventListener('DOMContentLoaded', function() {
    const holes = document.querySelectorAll('.hole');
    const mole = document.querySelector('.mole');
    let lastHole;
    let timeUp = false;
    let score = 0;

    function randomTime(min, max) {
        return Math.round(Math.random() * (max - min) + min);
    }

    function randomHole(holes) {
        const idx = Math.floor(Math.random() * holes.length);
        const hole = holes[idx];
        if (hole === lastHole) {
            return randomHole(holes);
        }
        lastHole = hole;
        return hole;
    }

    function showMole() {
        const time = randomTime(500, 1000);
        const hole = randomHole(holes);
        hole.classList.add('active');
        setTimeout(() => {
            hole.classList.remove('active');
            if (!timeUp) showMole();
        }, time);
    }

    function startGame() {
        score = 0;
        timeUp = false;
        showMole();
        setTimeout(() => timeUp = true, 10000); // 游戏持续10秒
    }

    function hitMole(e) {
        if (!e.isTrusted) return; // 防止作弊
        if (e.target.classList.contains('mole')) {
            score++;
            console.log('打中地鼠! 得分:', score);
        }
    }

    holes.forEach(hole => hole.addEventListener('click', hitMole));
    startGame();
});

这个示例创建了一个简单的打地鼠游戏,其中地鼠会随机出现在一个洞穴中,并且玩家可以点击地鼠来增加得分。游戏持续10秒,然后停止。你可以根据需要扩展此示例,例如添加更多的洞穴、改进样式、添加得分板等。

标签:function,const,holes,一个打,地鼠,小游戏,HTML5,hole,mole
From: https://www.cnblogs.com/ai888/p/18623041

相关文章

  • 使用HTML5制作一个刻度温度计
    创建一个HTML5的刻度温度计,你需要使用HTML、CSS和JavaScript。下面是一个简单的例子,展示如何创建一个基本的刻度温度计。HTML<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wid......
  • 使用HTML5制作一个多层的生日蛋糕
    要使用HTML5制作一个多层的生日蛋糕,你主要需要使用HTML结构来定义蛋糕的层次,CSS来添加样式和动画效果,以及可能还需要JavaScript来增强交互性。以下是一个简单的示例,展示了如何使用HTML和CSS创建一个基本的多层生日蛋糕:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UT......
  • 使用HTML5绘制一把雨伞
    在前端开发中,使用HTML5绘制一把雨伞主要涉及到HTML5的<canvas>元素以及JavaScript的CanvasAPI。以下是一个简单的示例,展示了如何绘制一个基本的雨伞形状:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"conte......
  • 108. Web前端网页案例——【国粹京剧文化主题精品网页( 5页)】 大学生期末大作业 html5+
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐♬♬♬欢迎光临我的CSDN!这里是Web前端网页案例大集汇,有各行各业的前端网页案例,每天会持续更新!如果你对Web前端......
  • 171. 大学生HTML5期末大作业 ―【 高端大气的美食网页(6页)】 Web前端网页制作 html5+cs
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、网页模版源码、学习资料等,更多优质博客文章、网......
  • 使用canvas实现一个贪吃蛇小游戏
    创建一个贪吃蛇游戏涉及到很多步骤,以下是一个简化版的贪吃蛇游戏实现方案,使用HTML5的<canvas>元素。HTML首先,在HTML中创建一个<canvas>元素。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>贪吃蛇游戏</title><s......
  • 使用HTML5实现窗户玻璃雨滴的逼真效果
    在前端开发中,实现窗户玻璃上雨滴的逼真效果需要结合HTML5、CSS3以及JavaScript,特别是利用CanvasAPI或者WebGL进行图形渲染。以下是一个基于CanvasAPI实现雨滴效果的简化示例:HTML结构:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="vi......
  • 使用HTML5实现一个倾斜的图片增效果
    在HTML5和CSS3中,你可以使用CSS3的transform属性来实现图片的倾斜效果。以下是一个简单的例子:HTML:<divclass="image-container"><imgsrc="your-image.jpg"alt="YourImage"class="tilted-image"></div>CSS:.image-container{......
  • 使用HTML5制作一个可以旋转的太极图案交互特效
    要制作一个可以旋转的太极图案交互特效,你可以使用HTML5的<canvas>元素结合JavaScript。以下是一个简单的示例,展示了如何实现这个效果:HTML:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="......
  • html5制作仪器圆表盘转动动画效果
    在HTML5中,你可以使用CSS3动画和JavaScript来制作一个仪器圆表盘的转动动画效果。以下是一个简单的例子,展示了如何创建一个基本的圆表盘,并使用CSS动画使其转动。HTML<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content=&qu......