
记忆拼图游戏的编写
文章平均质量分 80
棉猴
这个作者很懒,什么都没留下…
展开
-
Pygame实现记忆拼图游戏15
在中实现了两次选择图案的比较,当两个图案不相同时,这两个图案将会被遮盖;如果两个图案相同时,则这两个图案一直显示,直到所有的图案都显示出来,此时玩家获胜,如图1所示。图1 玩家获胜完成图1所示的功能主要有三个步骤:第一步是判断玩家是否获胜;如果玩家已获胜,第二步显示玩家获胜的动画效果;最后重新开局。原创 2025-03-22 19:03:33 · 984 阅读 · 0 评论 -
Pygame实现记忆拼图游戏14
中实现鼠标点击图案后会显示图案的功能,接下来实现的是比较两个图案是否相同的功能,如果相同,则会一直显示这两个图案,否则在显示了这两个不同的图案之后,会遮盖这两个图案,如图1所示。图1 比较两个选中的图案实现以上功能的步骤是:首先判断用户是第一次选中图案还是第二次选中图案,如果是第一次选中,则记录该图案;如果用户是第二次选中图案,接下来则获取这两次选择图案的形状和颜色,并进行比较(选中这两个图案,此时图案就会显示);如果两次选择的形状和颜色不同,最后遮盖这两个图案,等待用户继续选择。原创 2025-03-20 21:23:19 · 969 阅读 · 0 评论 -
Pygame实现记忆拼图游戏13
在《Pygame实现记忆拼图游戏12》中,实现了鼠标滑动到每个图案上方时,会在该图案边缘显示蓝框的功能。当鼠标左键点击处于遮盖状态的图案时,该图案会显示,效果如图1所示。图1 点击显示图案以上功能主要通过两个个步骤实现:第一步是监听玩家鼠标按下的事件;第二步是当玩家点击鼠标后,判断玩家点击的图案是否处于遮盖状态,如果是,则显示该图案。原创 2025-03-19 16:33:33 · 925 阅读 · 0 评论 -
Pygame实现记忆拼图游戏12
通过自定义函数drawHighlightBox()绘制蓝框,该函数的代码如图5所示。图5 drawHighlightBox()的代码其中,drawHighlightBox()函数的参数boxx和boxy分别表示图案的列数和行数;第41行代码通过leftTopCoordsOfBox()函数获取图案左上角坐标left和top;第42-43行代码通过pygame.draw.rect()函数在图案外围绘制蓝框,HIGHLIFHTCOLOR在函数外部定义为蓝色。原创 2025-03-19 09:26:30 · 531 阅读 · 0 评论 -
Pygame实现记忆拼图游戏11
在中,实现了游戏启动后图案的显示和遮盖功能。之后玩家就可以通过鼠标点击进行图案的选择了。当鼠标滑过(并未点击)被遮盖的图案时,该图案边缘会显示蓝色的框,如图1所示。图1 鼠标滑过图案会显示蓝色的框实现以上功能的步骤是:首先获取鼠标的位置,之后根据鼠标位置获取鼠标所在图案的列数与行数,最后根据图案的列数和行数绘制蓝框。原创 2025-03-19 09:23:57 · 669 阅读 · 0 评论 -
Pygame实现记忆拼图游戏10
startGameAnimation()函数中,在“1 将70个图案进行随机分组”中提到的代码将70个图案进行分组后,调用“3 图案的渐变显示”和“4 图案的渐变遮盖”中提到的两个函数实现图案的渐变显示和渐变遮盖,代码如图12所示。其中,boxGroups为将70个图案分成9组后的数据;使用for循环分别对这9组数据进行处理,实现这9组数据对应图案的渐变显示和渐变遮盖,效果如图1所示。图12 实现图案的渐变显示和渐变遮盖的函数。以上提到的完整代码如下所示。原创 2025-03-18 20:39:32 · 315 阅读 · 0 评论 -
Pygame实现记忆拼图游戏9
从图8中可以看出,亮牌的过程是首先显示图案,之后将表示覆盖到图案上的背景的coverage由大到小变化,使得图案慢慢地显露出来,达到亮牌的效果;68-70行代码判断coverage,如果coverage大于零,则绘制在已显示图案的基础上绘制宽度为coverage的覆盖物,如果coverage从大到小变化,则显示该图案,如果coverage从小到大变化,则盖住该图案,也就是说drawBoxCovers()函数根据coverage的不同变化,实现显示或者遮盖图案的效果;该函数的代码如图7所示。原创 2025-03-18 20:37:32 · 1103 阅读 · 0 评论 -
Pygame实现记忆拼图游戏8
在中,实现了游戏启动后,显示70个图案背面的功能。游戏启动后,会为玩家分组显示70个图案,玩家要在很短的时间内尽量多地记住相同图案的位置,因为之后显示的图案又会遮住,如图1所示。图1 游戏启动界面在startGameAnimation()函数中实现上述功能。原创 2025-03-18 20:35:15 · 727 阅读 · 0 评论 -
Pygame实现记忆拼图游戏7
接下来继续编写drawBoard()函数代码,当图案状态数据revealed是True时,则在该位置调用drawIcon()绘制相应的图案,代码如图14所示。图12的第100行代码判断形状是否是椭圆,如果是,第101行代码调用pygame.draw.ellipse()函数绘制椭圆,第102行代码表示包含这个椭圆的长方形左上角横纵坐标left、top+quarter以及该长方形的宽度BOXSIZE和高度half。如果图案的形状是线条,则使用图10所示的代码进行绘制。线条的图案如图11所示。原创 2025-03-17 09:43:56 · 832 阅读 · 0 评论 -
Pygame实现记忆拼图游戏6
在中实现了绘制图案背面的功能,接下来实现绘制图案正面的功能,即绘制35个图案。原创 2025-03-17 09:41:48 · 1100 阅读 · 0 评论 -
Pygame实现记忆拼图游戏5
第57行判断该图案的状态,如果处于“扣下”状态,则通过57-58行代码通过pygame.draw.rect()绘制该图案的背面,BOXCOLOR是之前定义好的白色。此时运行游戏,是无法看到绘制好的图案,作为调试代码,需要将第12行代码放到while True循环之内,并且在绘制游戏屏幕背景代码之后。startGameAnimation()函数根据图案状态绘制了图案,而在main()函数中需要调用该函数才能实现该功能,代码如图9所示。图8 绘制图案函数drawBoard()的代码。原创 2025-03-14 11:57:24 · 568 阅读 · 0 评论 -
Pygame实现记忆拼图游戏4
在中,通过自定义函数getRandomizedBoard(),随机生成了游戏所需的70个图案。接下来,利用生成的图案,在自定义函数startGameAnimation()中显示游戏启动界面。原创 2025-03-14 11:54:40 · 1109 阅读 · 0 评论 -
Pygame实现记忆拼图游戏3
在游戏启动时,需要设置游戏中图案的初始排列,该功能由自定义函数getRandomizedBoard()实现。原创 2025-03-13 19:53:53 · 708 阅读 · 0 评论 -
Pygame实现记忆拼图游戏2
在《Pygame实现记忆拼图游戏1》演示的记忆拼图游戏中可以看到,游戏中的每一块图案都具有不同的颜色和不同形状,要产生这些图案,首先要定义这些颜色和形状,如图1所示。图1 定义颜色和形状的代码其中,第22-31行定义了10钟颜色,在设置图案时,使用了其中的7种颜色;第33-37行代码定义了5种形状,因此游戏中的图案的种类是7×5=35种。为了生成这35种图案,将颜色和形状分别放在两个元组中,代码如图2所示。图2 将颜色和形状分别放在两个元组中的代码其中,第41行将7种颜色放入到ALLCOLORS中。原创 2025-03-13 16:15:55 · 459 阅读 · 0 评论 -
Pygame实现记忆拼图游戏1
记忆拼图游戏的英文名叫做“memory puzzle”,玩家通过记忆找到相同的图片,如图1所示。图1 记忆拼图游戏从图1中可以看出,玩家每次点击两张图片,如果这两个图片是相同的图案(包括颜色和形状),则图片就会一直显示,不再扣过来;如果玩家找到的两张图片不相同,则图片会再次扣过来,玩家需要继续找,直到找到所有相同的图片。定义表示游戏屏幕宽度和高度的变量,如图2所示。图2 定义表示游戏屏幕宽度和高度的代码其中,WINDOWWIDTH是屏幕的宽度,WINDOWHEIGHT是屏幕的高度。原创 2025-03-13 11:18:39 · 1536 阅读 · 0 评论