Pygame实现影象拼图游戏8

打印 上一主题 下一主题

主题 979|帖子 979|积分 2937

在《Pygame实现影象拼图游戏7》中,实现了游戏启动后,显示70个图案反面的功能。游戏启动后,会为玩家分组显示70个图案,玩家要在很短的时间内尽量多地记住相同图案的位置,由于之后显示的图案又会遮住,如图1所示。

图1 游戏启动界面

在startGameAnimation()函数中实现上述功能。
1 将70个图案举行随机分组

从图1中可以看出,游戏启动后,每次显示8个图案,最后一次显示剩下的6个图案。因此,首先对70个图案举行随机分组,分成9个组,此中前八个组每组8个图案,最后一组6个图案。将70个图案举行随机分组主要分为两个步调:第一步是先将图案举行随机排列,第二步是对随机排列的图案举行分组。
1.1 将70个图案随机排列

每个图案用其地点的列数和行数表示,行数和列数构成一个元组,每个元组代码一个图案。在startGameAnimation()函数中,将70个图案随机排列的代码如图2所示。

图2 将70个图案随机排列的代码

此中,第50行代码定义了一个空列表boxes,该列表中将包含随机排列后的图案行列数;第51-53行代码通过两个for循环创建了70个图案的行列数,并将其添加到boxes中;最后第54行代码通过random.shuffle()使boxes中图案随机排列。使用调试代码可以看到随机后的boxes值,如图3所示。

图3 随机后的boxes值

此中,boxes中由70个元组构成,每个元组的第一个元素表示图案的列数,第二个元素表示图案的行数。此时的boxes已经举行了随机化。
1.2 对随机排列的图案举行分组

在得到了70个随机排列的图案行列数之后,对其举行分组,通过自定义函数splitIntoGroupsOf()实现。该函数的代码如图4所示。

图4 splitIntoGroupsOf()函数的代码

此中,splitIntoGroupsOf()的第一个参数表示每组包含的图案数,第二个参数表示要分组的图案列表;第57行代码定义的空列表result用于生存分组之后的图案行列数;第58-59行代码通过for循环对列表举行分组,并把每一组的图案都添加到result中。
在startGameAnimation()函数中调用splitIntoGroupsOf()的代码如图5所示。

图5 调用splitIntoGroupsOf()的代码

此中,8表示每组8个图案,boxes是图2中生成的图案列表,变量boxGroups生存了分组之后的图案,通过调试代码可以显示boxGroups的值,如图6所示。

图6 boxGroups的值

此中,boxGroups被分成了9个组,每一行为一个组中包含的图案,一共8个,最后一组包含6个图案。对比图3可以看出,图6中显示的值就是图3中值的分组。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表