前端搭建砸地鼠游戏(内附源码)


✨ 写在前面

上周我们实通过前端基础实现了打字通,当然很多伙伴再评论区提出了想法,后续我们会考虑实现的,今天还是继续按照我们原定的节奏来带领大家完成一个砸地鼠的小游戏,功能也比较简单简单,也是想借助这样一个简单的功能,然后来帮助大家了解我们JavaScript在前端中的作用, 在前面的文章当中我们也提及到我们在本系列的专栏是循序渐进从简单到复杂的过程,后续会带领大家用前端实现翻卡片、扫雷、贪吃蛇等有趣的小游戏,纯前端语言实现,都会陆续带给大家。欢迎大家订阅我们这份前端小游戏的专栏。


✨ 功能介绍

在这里插入图片描述

游戏开始后再几个鼠洞会随机出现老鼠,停留时间随机,我们需要点击老鼠分数加一,倒计时60秒会为我们计算分数,点击在玩一次可以重新开始游戏,大家可以根据自己的想法来设置游戏规则;如果大家可以跟上的话可以通过修改代码来提升难度,比如我们增加鼠洞或者我们减少老鼠存留的时长,很简单的功能大家可以尝试添加进去,如果遇到问题大家可以留言或者私信我,当然大家也可以将样式设置的非常漂亮,这里我们主要是针对前端的初学者来进行的讲解,对于样式的配置我们循序渐进。


✨ 页面搭建

创建文件

首先呢我们创建我们的HTML文件,这里我就直接命名为 砸地鼠.html 了

  • 200
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 43
    评论
以下是一个使用 HTMLCSSJavaScript 实现的打地鼠游戏源码: ### HTML 代码 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>打地鼠游戏</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <h1>打地鼠游戏</h1> <p>在有限的时间内,点击尽可能多的地鼠。</p> <p>得分最高者获胜。</p> <div class="game-area"> <div class="score-panel"> <p>得分:<span id="score">0</span></p> <p>时间:<span id="time">60</span> 秒</p> <button id="start-btn">开始游戏</button> </div> <div class="hole-area"> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> <div class="hole"></div> </div> </div> </div> <script src="script.js"></script> </body> </html> ``` ### CSS 代码 ```css .container { width: 800px; margin: 0 auto; text-align: center; } .game-area { margin-top: 50px; } .score-panel { margin-bottom: 20px; } .hole-area { display: flex; flex-wrap: wrap; justify-content: center; } .hole { width: 100px; height: 100px; margin: 20px; background: url('img/hole.png') bottom center no-repeat; cursor: pointer; position: relative; } .hole:hover { background-position-y: top; } .mole { width: 100px; height: 100px; background: url('img/mole.png') bottom center no-repeat; position: absolute; left: 0; top: 0; display: none; } ``` ### JavaScript 代码 ```javascript var score = 0; // 得分 var time = 60; // 剩余时间 var moleTimer = null; // 地鼠定时器 var timeTimer = null; // 时间定时器 var holes = document.querySelectorAll('.hole'); // 地鼠洞 var scoreSpan = document.querySelector('#score'); // 得分区域 var timeSpan = document.querySelector('#time'); // 时间区域 var startBtn = document.querySelector('#start-btn'); // 开始按钮 // 开始游戏 function startGame() { score = 0; time = 60; scoreSpan.innerHTML = score; timeSpan.innerHTML = time; startBtn.disabled = true; moleTimer = setInterval(showMole, 1000); timeTimer = setInterval(countDown, 1000); } // 显示地鼠 function showMole() { // 随机选择一个地鼠洞 var index = Math.floor(Math.random() * holes.length); // 获取该洞中的地鼠 var hole = holes[index]; var mole = hole.querySelector('.mole'); // 如果该洞中没有地鼠,则显示一个地鼠 if (!mole) { // 创建地鼠 mole = document.createElement('div'); mole.className = 'mole'; // 点击地鼠得分 mole.addEventListener('click', function() { score += Math.floor(Math.random() * 10) + 1; scoreSpan.innerHTML = score; hideMole(mole); }); // 将地鼠添加到洞中 hole.appendChild(mole); } // 显示地鼠 mole.style.display = 'block'; // 隐藏地鼠 setTimeout(function() { hideMole(mole); }, 1000); } // 隐藏地鼠 function hideMole(mole) { mole.style.display = 'none'; } // 倒计时 function countDown() { time--; timeSpan.innerHTML = time; if (time === 0) { endGame(); } } // 结束游戏 function endGame() { clearInterval(moleTimer); clearInterval(timeTimer); startBtn.disabled = false; alert('游戏结束,得分:' + score); } // 绑定事件 startBtn.addEventListener('click', startGame); ``` 注意:以上代码中使用了两张图片(hole.png 和 mole.png),需要将它们放到项目的 img 目录中,并根据实际路径进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几何心凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值