圆圆网络 手游攻略 软件教程 打地鼠小游戏全集,打地鼠小游戏全集免费版

打地鼠小游戏全集,打地鼠小游戏全集免费版

时间:2026 05 01 13:58:06 来源:互联网 浏览:0

打地鼠小游戏制作教程

这个打地鼠小游戏似乎比我还老。这次我们使用scratch3.0图形化编程软件来制作我们自己的“打地鼠”。我们首先准备4种角色,分别是:鼹鼠角色、锤子角色、洞穴角色、草角色。地鼠用猫代替;锤子用扫帚代替;洞穴自己画(我们这里只做了四个洞穴,同学们可以自己添加);草找个背景就可以了。对于字符1,我们需要自己处理。只需删除身体的一些部分,只保留头部即可。

在形状中画出“洞穴”。使用“圆形工具”并注意填充颜色。

角色1(猫头)脚本:使用随机数,变量“随机数”的值是猫头将移动到该洞的位置。这里只打了4个洞。学生可以根据自己设置的漏洞调整脚本。

字符1脚本:(第2部分)这里使用“AND”,逻辑符号。这是我们第一次接触它。可以理解为我们生活中的“与”。可以理解为“如果遇到扫帚按下鼠标,则得分+1隐藏随机1~4移动到前面”。在这种情况下,如果我们击中它,猫的头就会变成地上的一个洞。右边红框是另一种情况。猫头每1秒改变一次洞穴的位置。

点击绿旗并运行我们制作的小游戏

Python 0基础开发游戏:打地鼠(详细教程)

1 下载并安装python2 下载并安装VS code编辑器时,一定要勾选添加到路径

3 安装pygame模块

在VisualStudioCode的顶部菜单【终端-新建终端】中打开命令行终端,然后输入命令python -m pip install upgrade pip,回车,等待完成。

然后输入命令pip install pygame 并等待安装完成,这可能需要几分钟。

元字符集=\”utf-8\”

在桌面上创建一个文件夹mygame,然后使用VSCode中的菜单【文件-打开文件夹】,选择mygame文件夹,VSCode左侧就会出现EXPLORER导航栏。

在左侧导航栏中,【右键-新建文件】创建文件main.py。

运行代码。

在执行上述操作时,VSCode的右下角经常会弹出一些提示。如果有【安装】字样,您可以放心点击安装更多内容。

图像

图像

pip install .安装命令太慢。 Windows用户可以从上面的网盘下载pip.ini文件,然后在【C盘-用户-用户名】文件夹下创建一个pip文件夹,然后将下载的pip.ini文件复制进去,然后运行pip install.安装速度会快很多。

这对于苹果用户来说是一个很大的麻烦。首先在终端中执行cd ~ 切换到用户文件夹,然后执行mkdir .pip 创建.pip 文件夹。它是看不见的。我们打开Finder,从菜单中执行[Go - Go to Folder.],进入~/.test目录,将下载的pip.conf文件粘贴进去,就完成了。

pip.ini或者pip.conf文件将默认的pip下载安装从国外改为国内下载,这样速度会快很多。

其中,import就是导入我们要使用的外部代码模块。当然,pygame是必须的。 sys是system系统的缩写。因为我们的游戏必须在系统(windows或Apple macOS)上运行,所以我们会使用系统的一些命令,比如下面的sys.exit()命令。

pyagme.display.set_mode([600,400]),其中[600,400]是一对数字组合起来,称为二进制数组,这里代表一个宽600高400的矩形。整句话就是设置弹出的窗口大小、显示display、设置setting、mode模式。

while 1:当为1时,则.代码中的1表示正确、真实、存在。相反,0表示错误、错误、不存在。 while 1: 做某事则某事将会完成,如果while 0: 做某事则不会完成某事。

for.sys.exit() 部分暂时不需要详细研究,它只是一个固定的格式。只要你知道这意味着游戏程序结束时系统会关闭窗口,清理电脑不留任何痕迹,然后退出。

游戏开发有固定的套路。无论是打地鼠、愤怒的小鸟、西瓜忍者,甚至是王者荣耀这样的大型游戏,他们普遍遵循以下思路:

创建一个地图场景,也许上面有一些道具。例如,有几个地鼠洞,一些可以放置小猪的木箱,甚至还有非常复杂的山谷地形,上面有很多野生怪物。这些地图上的元素一般都是被动的,也就是说,如果你不靠近或者不去激怒野怪,它们就不会互相厮杀。同样,在小鸟发射之前,木箱不会自行倒塌。

创建至少一个可以与地图场景交互的玩家可控元素。这个可控元素称为玩家角色。在打地鼠游戏中,这个角色是一把锤子。在《愤怒的小鸟》中,这个角色实际上是一个弹弓。弹出的小鸟实际上是一个道具。在《王者荣耀》游戏中,玩家的角色就是自己的英雄。

必须有判断成功或失败的标准。玩家控制的角色与地图场景交互并做出反应时,必须有相应的判断标准,比如统计3分钟内击中的地鼠数量,或者统计杀死的绿猪数量,或者与野生怪物战斗所获得的经验。这些规则必须明确且不能相互矛盾。大多数游戏都有胜者和败者,而输赢往往本质上取决于谁的分数首先达到某个临界点。可以是关键道具的变化,比如在格斗游戏中塔被摧毁,也可以是玩家角色属性的变化,比如在格斗游戏中被杀;或者也可以只是纯粹的积分评价,以排名来衡量,而不是输赢。

能够在窗口内绘制图形。您可以直接用代码绘制几何图形,或者加载图像来显示内容。

能够用代码控制每个元素(道具和角色)的动画。动画是一组不断轮流变化的图片。您需要能够使用代码来控制每个元素动画的播放和停止,并在不同的动画之间快速切换。

能够接收用户控制,从而影响游戏中的元素。你知道用户什么时候按下键盘,什么时候点击鼠标,按下的是哪个按钮,鼠标左键还是右键?我们通常将这些操作称为交互事件。

能够计算和管理游戏中各个元素产生的有效数据。当玩家角色用剑砍倒它时,怪物的生命值会减少100 点。这是数据,而且是非常有用的数据。如果没有这些数据,怪物可能永远不会被杀死。有时需要保存这些数据,以便用户下次打开游戏时仍然可以看到自己的等级和装备仍然存在。有时这些数据需要及时清除,比如新一轮开始时,地图上的道具和人物需要恢复到原来的状态。

我们可以将经典的打地鼠游戏简化如下:

地图和道具:地鼠图形出现在随机位置

互动角色:控制锤子图形,点击仓鼠图形使其消失

输赢分数:在限定时间内击中地鼠图形的次数

核心玩法可以简化为一句话:点击随机出现图形。

我们用蓝色圆圈代表地鼠。那么如何在窗口中画一个圆呢?

你可以在百度搜索类似【pygame画圈】的关键词。可以发现需要使用pygame.draw.circle语句。其具体语法可以参见官方文档。对于英文版本,请单击此处获取详细说明。

我们发现它的语法是:

这意味着draw.circle()需要四个参数,即曲面、颜色、中心点和半径。

我们继续看表面参数的说明:

听起来像画布,但——必须有画布才能在上面画圆。单击Surface 链接以查找更多说明:

末尾的-Surface表示Surface((width….)这句话可以生成一个Surface曲面,我们可以用下面的语句捕获这个生成的曲面:

这样,sur就是我们生成的曲面了。

我们回过头来看看颜色参数:

显然它的意思是画圆用什么颜色。 tuple(int, int, int, [int]) 表示需要三个整数来表示颜色。 RGB 指的是红、绿、蓝和alpha 透明度:

我们也可以用同样的方法来获取center的中心位置。这里的Vector2 表示一个二元向量,以及水平x 和垂直y 位置:

现在所有参数都已到位,您可以开始绘制圆了。运行以下代码:

打地鼠小游戏全集,打地鼠小游戏全集免费版

注意这里屏幕底部的两行,其中window.blit(sur, (0, 0))表示刷新我们绘制到窗口中的surface sur; pygame.display.flip() 表示刷新窗口。

随机出现意味着随机位置。我们必须保证花圈的pos位置每次都不同,并且要固定在几个地鼠孔位置。 ——别忘了我们要玩打地鼠游戏。

假设地鼠位置pos有6个,分别为[200,200]、[300,200]、[400,200]、[200,300]、[300,300]、[400,300]。那么如何从六个中随机选择一个呢?也就是如何从1到6中随机选取一个数字。

我们可以在百度【Python随机数】上找到我们需要使用random模块。这是python自带的模块,不需要重新pip安装。如果搜索【python随机文档】可以找到官方的语法说明,如下:

这意味着可以随机生成a 和b 之间的数字。你也可以从中文菜鸟教程网站学习这些知识。

创建一个新的test.py 文件并进行测试:

每次运行都可以生成不同的数字。

继续测试:

这里的pos6[a]表示pos6的6个位置中的第a个位置。每次运行此代码都会生成不同的位置。

测试成功后,我们将其复制到刚才的画圆代码中,得到:

注意新行sur.fill.它使用黑色(0,0,0)来清理前一帧的内容,以避免出现多个圆圈。

运行上面的代码后,您会看到蓝色圆圈跳得太快。我们希望它换个位置后就停下来,等我们锤子。

我们需要图片的圆圈每n帧随机改变一次,而不是现在每帧随机改变一次。思路是这样的:我们设置一个计数器,从0开始,每帧加1,即0、1、2、3、4……直到增加到50以上,此时我们改变圆圈的位置,同时将计数器重置为0。

代码如下:

当用户点击屏幕时,我们需要知道他点击了哪里,以及他是否点击了我们画的圆圈。

可以通过百度搜索【pygame click】找到相关资源,也可以直接在官方文档中找到。

思路是我们添加对event.type事件类型的实时监控,一旦发现点击事件就获取位置坐标。代码如下:

运行此代码,当您单击屏幕时,将打印计划鼠标单击的位置。

知道圆的当前位置pos和当前点击位置mpos,我们就可以计算出两点之间的距离。如果距离大于圆的半径,则该点尚未到达地鼠。如果距离小于半径,则该点已到达地鼠。

百度搜索【pygame两点距离】找到一些计算距离的方法。这里我们使用pygame官方提供的方法来测试以下代码:

它将输出5(钩三股四玄五)。这里(3,4)是减去pos和mpos得到的差值。将这个想法带入原始代码中,我们得到:

这里我们设置,如果距离长度len小于圆半径rad,则立即设置tick=51,使其大于50,并立即进行随机位置变换。

至此,运行上面的代码就可以实现痣(圈)的随机出现以及点击使其消失。这也实现了游戏最基本的逻辑功能。以后我们会写更多的内容,让它更加完整。

计算数值增加很简单,只需设置分数=0,然后在击中地鼠时将其增加1 即可。但如何将其显示在屏幕上呢?

你可以在百度搜索【pygame显示文字】就可以找到大致的方法。我们先做一些测试:

在这段代码中,你可以看到pygame分三步绘制文本:

pygame.font.init() 必须首先初始化

pygame.font.SysFont(\'微软雅黑\', 30) 设置字体和字号

font.render(\”Hello World!{}\”.format(999), False, (255, 0, 0)) 生成一个Surface。当然,最后不要忘记将表面放入窗户中。窗口.blit(sur, (200, 10))

运行上面的代码,得到一个窗口,如下:

图像

我们根据这次经验改进的代码:

运行上面的代码后,可以用鼠标点击跳跃的蓝色圆圈。每击中一次,您将获得1分,该分实时显示在顶部。

更多关于文本的信息请参考官方文档。

现在窗口中仍然显示鼠标,而不是锤子。我们来看看如何将鼠标变成特定的图形。

pygame 的鼠标控制模块是pygame.mouse。请参阅此处的官方文档。

我们可以使用pygame.mouse.set_visible(False) 来隐藏鼠标,但是这样我们就不会看到鼠标无法操作。

不过没关系,我们之前记得有mpos=pygame.mouse.get_pos() 来获取鼠标点击时的当前鼠标位置。同样,我们可以获取鼠标移动时的鼠标位置,然后在这个位置画一个红色的圆圈来代表鼠标。

测试下面的代码:

运行这段代码,当鼠标在窗口上移动时,一个红点会随着鼠标移动,并且红点会取代原来的指针。

我们把这段红点鼠标代码放入游戏中,得到如下代码:

我把sur.fill和原来绘制地鼠蓝圈的代码移到了底部,和绘制鼠标红点的代码放在一起,让绘制内容放在一起更加合理。

我们有很多方法来限制每一轮的长度,比如限制计时器为1分钟,或者限制地鼠跳跃的总次数为100次。我们在这里使用第二个限制,在100 次跳跃后结束并计算分数。

添加一个计数器times=0,然后在每个随机位置加1。当times100时,我们结束游戏并显示结束屏幕来统计结果。

具体代码没有什么新内容,就不多解释了,只展示结果:

运行这段代码,用鼠标点击蓝色圆圈,跳跃10次后蓝色圆圈结束,然后显示点击次数。可以通过调整tick_max数字让圆圈跳得更快或更慢,调整times_max=100可以让地鼠跳100次才结束。

现在我们的地鼠游戏已经有了一些外观,但它仍然是蓝色和红色的圆圈和点。下一篇文章我们会把它改成图片。

在上一节中,我们只使用了英文字体。如何显示中文字体?

直接下载网盘里的文件,和你的main.py放在一起,替换原来的

修改为:

打地鼠小游戏全集,打地鼠小游戏全集免费版

然后在render中使用中文就可以正常显示了:

图像

另外,还可以使用系统自带的中文字体,但我们并不清楚系统中到底安装了哪些字体。你可以使用print(pygame.font.get_fonts()) 打印出所有的系统字体,然后你只能从名称中猜测哪些是中文字体。请注意,系统字体仍然需要使用font.SysFont,而不仅仅是font.Font。

这是我们的背景图片dds-map.jpg:

图像

我们可以使用map=pygame.image.load(\'dds-map.jpg\')将图像读入代码中。有关如何操作图像的更多官方说明,请参阅此处。请注意,pygame.image.load() 获取一个表面。我们可以直接blit到窗口,或者blit到窗口。

这是完整的代码:

请注意,我们首先读取图像,然后决定是否在每一帧中使用它。运行后如下图:

图像

地鼠和锤子各有两种状态,普通地鼠和命中地鼠,正常锤子和掉落锤子,如下图所示(下图不能直接使用,请从网盘下载):

图像

我们可以首先将四个图像加载并读取到rat1,rat2,ham1,ham2中,然后我们使用ratsur和hamsur来表示实际要使用的表面。当按下鼠标时,我们设置hamsur=ham2 来删除图像。当鼠标点击位置小于仓鼠半径时,我们用ratsur=rat2作为被点击的图片。最后,我们将地鼠和锤头击落到了水面上。

修改后的代码如下:

注意这里的import time和time.sleep(0.04)是让每一帧停留一点时间,0.04秒,每秒25帧(假设绘制每一帧不需要时间)。另外,我们在blitting时使用了像(pos[0]-50, pos[1]-50)这样的偏移量,因为总是以图片的左上角作为位置的起点,这样偏移后就变成了图片的中心。事实上,我们故意把地鼠和锤子做得更高,所以我们使用了(pos[0]-50, pos[1]-70)。

运行后的样子如下:

图像

每次显示最终比分后3秒后可以重新开始比赛吗?

我们设置gameover=0 并在游戏结束后每帧增加这个数字。如果gameover100意味着已经过去了100帧,那么我们将重新开始。重新启动必然意味着各种数据(分数、计时等)和图形必须重置到原始状态。修改后整体代码如下:

运行此代码可以一遍又一遍地玩游戏。这里的游戏看起来好多了,但是还没有背景音乐,打地鼠时也没有音效。我们将在下一节中继续添加声音。

游戏中的声音有两种,一种叫音乐,另一种叫声音。背景音乐是音乐,游戏中的敲击声、点击声都是音效。一般同时只播放一首音乐,但可以同时播放多种音效。

Pygame可以使用pygame.mixer.music.load(\'bg.mp3\')加载foo.mp3音乐,然后pygame.mixer.music.play(0)就可以播放它。这里0表示播放一次。如果想无限播放,需要改为-1。

但如果你想播放音效,那么pygame中只能使用wav格式(而且不支持32位深度,只支持16位深度)。加载音效的方法是sd=pygame.mixer.Sound(\"hit.wav\"),播放的方法是sd.play(0),其中0也是1次。一般情况下,音效不需要连续播放。

我们可以在游戏开始时播放背景音乐,但是只有在点击鼠标event.type==MOUSEBUTTONDOWN 时才会播放锤子的声音,只有在击中地鼠时才会播放地鼠的声音。

修改后的代码如下:

当你运行上面的代码时,你可以听到欢快的背景音乐,点击鼠标时会有咚咚的声音,敲击地鼠时会有哎哟的声音。

我们写的代码目前只能在自己的电脑上运行,因为我们需要先安装python,然后再安装pygame。这与我们平时下载的软件不同。下载的软件可以直接运行(也可以自行安装后运行)。

Python为我们提供了自动将代码打包成软件的工具。推荐使用Windows下的auto-py-to-exe工具。还要先安装pip install auto-py-to-exe,然后执行auto-py-to-exe 就会打开一个窗口。

基本设置如下:

图像

注意几个地方:

脚本位置应指向您的主.py 文件,这里是main.py

Onefile选择One Directory,这会将所有制作文件放在一个文件夹中

Console Window 选择Console Based,因为我们的pygame 是基于控制台的。

Icon图标,可以在线下载.ico文件。例如,有很多easyicons。网盘里有一个地鼠图标icon.ico。

其他文件:单击“添加文件”按钮以选择使用的所有字体、图片和声音。

CONVERT .PY TO .EXE 单击此按钮生成它。生成后会变成两个蓝色按钮。

图像

点击OPEN OUTPUT FOLDER打开制作软件目录(默认在你的代码文件夹下的output文件夹中),找到与你的Script Location同名的文件,点击运行游戏。

图像

图像

网盘文件包含一个main.rar文件。下载并解压即可得到我打包生成的软件。

第一个小游戏好像已经开发出来了,但是内容还是很多,而且我们的代码里也有很多不合理的地方。下一篇我们将一起回顾和梳理,继续介绍更多小游戏的开发方法。

游戏中的声音有两种,一种叫音乐,另一种叫声音。背景音乐是音乐,游戏中的敲击声、点击声都是音效。一般同时只播放一首音乐,但可以同时播放多种音效。

问界欢乐打地鼠

文杰M9新年惊喜:快乐打地鼠,点亮节日用车生活

当车主坐上文杰M9后,只需几个简单的步骤,就可以开始一场快乐的打地鼠游戏。打开车辆设置,找到系统选项,滚动到底部,就会找到互动游戏入口。点击进入,就会出现打地鼠游戏界面。

开始游戏后,文杰M9的DLP头灯将游戏画面清晰地投射在墙壁或地面上。色彩鲜艳的“财神”地鼠从各个洞里探出头来,仿佛在热情地呼唤着玩家。玩家站在指定位置举起双手即可开始这段欢乐之旅。准确地踩在地上,“财神”鼹鼠就被“击中”了。每一次成功的点击都伴随着欢快的音效,仿佛收到了新年的祝福。在扣人心弦的游戏节奏中,玩家力争赢得“金蛇迎春”奖励,为新年增添更多好运和欢乐。

这一创新功能具有重要意义。它打破了传统汽车功能的限制,为用户创造了全新的交互体验。过去,汽车更多地是一种出行工具。现在,文杰M9通过快乐的打地鼠游戏将车辆变成欢乐机器。尤其是春节阖家团聚的时候,车主可以和家人一起站在车外,参与游戏。孩子们兴奋地跳了起来,踩到了鼹鼠。长辈们满脸笑容地看着,全家人都哈哈大笑。文杰M9不仅拉近了人与车的距离,还通过游戏互动升温了家人之间的情感,让节日气氛更加浓厚。

文杰M9的欢乐打地鼠游戏,展现了汽车智能化与人性化融合的魅力。不仅为用户带来便捷的出行,也为特殊节日带来温暖和欢乐。

用户评论

男神大妈

小时候最喜欢玩打地鼠的游戏了!这可是童年回忆啊!现在重新找回来玩的体验感觉还是很有趣的,简单好玩又解压!

    有11位网友表示赞同!

素婉纤尘

我刚下载这款《打地鼠小游戏全集》,界面看着还挺复古的,但操作起来还算流畅。 我觉得这个免费版的功能还是挺丰富的,已经玩了一晚上了哈哈,比刷视频看新闻好多了。

    有13位网友表示赞同!

月下独酌

话说这集全真的包含很多版本的游戏吗?我记得小时候就玩过一个打地鼠游戏,觉得很有意思,但一直没找到同款下载。希望这个全集里能有那个老版本!

    有18位网友表示赞同!

暖栀

这款小游戏的画面确实很复古啊…感觉回到了当年玩街机游戏的感觉,但这类型的游戏就是容易上瘾,一定要小心控制时间啊! 不过免费版就挺好了,性价比可以接受。

    有13位网友表示赞同!

哭着哭着就萌了°

这《打地鼠小游戏全集》里很多游戏我都玩腻了,但是还是会偶尔回去体验一下,经典就是经典。 主要是现在手机游戏越来越复杂的刺激的类型居多,偶尔想找点简单轻松的游戏玩也比较不错。

    有19位网友表示赞同!

拉扯

为什么会有免费版的?这是不是破解版呢? 感觉官方应该推出收费版本,这样才能够更好的维护游戏,鼓励开发者更新内容。

    有15位网友表示赞同!

你身上有刺,别扎我

这个打地鼠小游戏真不错!下载了之后就一直没停下来玩,各种难度都能挑战,而且操作也超级简单,真的是非常解压的游戏!

    有10位网友表示赞同!

一点一点把你清空

我感觉免费版的广告有点多,影响体验啊! 希望能够出一款没有广告的完整版哦。

    有13位网友表示赞同!

执妄

玩这款《打地鼠小游戏全集》的时候觉得我的反应速度变得很快了,哈哈!

    有12位网友表示赞同!

几妆痕

这个游戏的下载量这么大吗?感觉这个游戏本身就很不错,玩起来简单又乐趣满满!

    有13位网友表示赞同!

一笑傾城゛

这个“小游戏全集”的名称有点过于官方化了吧?我觉得这种休闲益智型的游戏更适合用简洁的描述,比如“打地鼠Classic”,或者“经典打地鼠”。

    有11位网友表示赞同!

念初

这款游戏让我回忆起了童年玩街机时的感觉!操作简单方便,画面复古但很有意思,简直是ストレス解消にピッタリ!

    有6位网友表示赞同!

熏染

下载下来试 gespielt后发现这个免费版的功能还是挺不错的可以体验很多种不同的打地鼠游戏版本,如果想要更高级的游戏体验,应该也推出付费版本!

    有7位网友表示赞同!

何年何念

感觉这游戏太简单了,一点挑战性都沒有! 希望能加一些新的模式或者难度等级,这样才会好玩。

    有18位网友表示赞同!

浅笑√倾城

我觉得这个免费版的更新速度很慢,希望开发者能够经常更新游戏内容,添加更多新版打地鼠游戏。

    有8位网友表示赞同!

短发

这款打地鼠小游戏的音乐很有特色,感觉超级怀旧! 以前玩街机的时候就喜欢它的背景音乐。

    有16位网友表示赞同!

心安i

这个《打地鼠小游戏全集》真的不错,玩起来很有成就感! 不过还是建议开发者把游戏画面重新设计一下,画面更加精美会更有吸引力!

    有5位网友表示赞同!

小清晰的声音

这个游戏的玩法简单易上手,适合各个年龄层的人玩,而且完全不需要学习复杂的规则就能立刻开始享受乐趣。

    有20位网友表示赞同!

标题:打地鼠小游戏全集,打地鼠小游戏全集免费版
链接:https://yyuanw.com/news/rj/54925.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
做超声检查时,医生为什么要在患者肚子上涂粘粘的东西

做B超为什么要涂凝胶?在支付宝蚂蚁庄园每日一题中,2021年4月9日的问题是问做超声检查时,医生为什么要在患者肚

2026-01-09
小米mix fold有前置摄像头吗

小米mix fold有前置摄像头吗?作为小米的第一款折叠屏手机,这款手机可以说实话非常的强大,但是很多网友还是想要

2026-01-09
蚂蚁庄园4月10日答案最新

蚂蚁庄园4月10日答案最新是什么?在支付宝蚂蚁庄园每日一题中,你知道蚂蚁庄园2021年4月10日答案是什么吗?该怎么

2026-01-09
蚂蚁庄园4月13日答案最新

支付宝蚂蚁庄园今日答题答案是什么?在支付宝蚂蚁庄园每日一题中,每天都会刷新出现多个题目等待大家来回答,回答

2026-01-09