效果如下:
原理简介
游戏规则:
玩家通过鼠标交换相邻的拼图,若交换后水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分,同时生成新的拼图以补充消失的部分,否则,交换失败,玩家不得分。
玩家需要在规定时间内获取尽可能高的得分。
Python学习交流群:556370268,有资源共享,经验分享,这里是python学习者聚集地,欢迎喜欢Python的小伙伴!
逐步实现:
Step1:初始化
游戏初始化,并加载必要的游戏素材:
Step2:定义游戏精灵类
游戏中需要用到鼠标与拼图块之间的碰撞检测,从而操作拼图块移动,因此我们定义一个拼图块游戏精灵类以方便实现这些功能:
Step3:实现游戏主循环
逻辑其实很简单,就是不断检测是否有鼠标点击事件发生,如果有,则判断鼠标点击时的位置是否在某拼图块的位置区域内,若在,则选中该拼图块,否则不选中。
当有第二块拼图块被选中时,则判断两个拼图块是否满足拼图交换的条件,若满足,则交换拼图块,并获得奖励,否则不交换并取消选这两个拼图块的选中状态。
源代码如下图所示:
Step4:游戏结束界面
游戏倒计时结束后,进入游戏结束界面,界面显示用户当前得分。同时,若用户键入R键则重新开始游戏,键入ESC键则退出游戏。
源代码实现如下:
网友评论