前言
今天来还原童年记忆中的打地鼠游戏,主要是让Trae用代码实现这个游戏的核心功能。
这个游戏的核心功能
先把这个核心逻辑发给Trae,看看他完成的是不是你想要的童年记忆
- 玩家控制一个木槌,通过鼠标点击来敲打地鼠。
- 地鼠会随机从地面的洞口冒出。
- 玩家敲中地鼠后,地鼠会缩回洞中,并且玩家获得得分。
- 游戏会有一个倒计时,当倒计时结束时,游戏结束,玩家需要在规定时间内获得尽可能高的分数。
- 地鼠冒出的频率会随着游戏时间逐渐加快,增加游戏难度。
- 游戏会有一个得分系统,玩家每敲中一个地鼠,就会获得一定的分数。
由于上一篇的坦克大战生成的ui太过于粗糙,这次我们就让他生成的时候要精美的页面
这效果还是有点像,毕竟我们没有资源文件,这样的完成度已经不错了,看起来有些微信小游戏的味道了,右上角还很贴心的安排上音效按钮,如果不喜欢我们可以关闭音效,沉浸式的打地鼠

Trae代码解读
首先是生成Grid布局,for循环生成九个洞口
设置速度,来表示简单、中等、困难的等级,玩家可以自由的选择等级来玩打地鼠

Trae通过Math.random来随机生成地鼠在哪一个洞口出现,通过setTimeout来持续生成

生成新地鼠,如果需要的话,并更新计时器,源源不断的生成地鼠
kotlin
this.gopherSpawnTimer++;
if (this.gopherSpawnTimer >= this.gopherSpawnDelay && this.gophers.filter(g => g.alive).length < 4) {
this.spawnGopher();
this.gopherSpawnTimer = 0;
}
木槌与地鼠碰撞检测,碰撞了就把地鼠消失,这样就可以新生成地鼠,这个消失主要是给dom元素添加class,让地鼠实现消失的效果,可以说是非常的精妙
为了丰富玩家的游戏的体验,Trae还帮我们添加了击中的特效,短暂的延迟在消失,看起来就有一定的视觉冲击
最后是来自Trae自己对这款打地鼠的评价

总结
1、这个游戏的核心功能包括玩家控制木槌敲打地鼠,地鼠的随机冒出和消失,得分系统,以及倒计时结束时的游戏结束。通过这些功能,玩家可以在规定时间内获得尽可能高的分数。
2、通过绘制洞口,地鼠可以随机从洞口冒出。同时,洞口也可以作为游戏的地图边界,防止地鼠超出地图范围。主要还是还原童年的骚操作,可以让自己在游戏保证不死的通过游戏关卡。都是满满的童年回忆。
你是否也玩过这个游戏呢?