Pygame实现记忆拼图游戏1

1 游戏介绍

记忆拼图游戏的英文名叫做"memory puzzle",玩家通过记忆找到相同的图片,如图1所示。

图1 记忆拼图游戏

从图1中可以看出,玩家每次点击两张图片,如果这两个图片是相同的图案(包括颜色和形状),则图片就会一直显示,不再扣过来;如果玩家找到的两张图片不相同,则图片会再次扣过来,玩家需要继续找,直到找到所有相同的图片。

2 Pygame编程框架的修改

2.1 定义游戏屏幕的宽度和高度

定义表示游戏屏幕宽度和高度的变量,如图2所示。

图2 定义表示游戏屏幕宽度和高度的代码

其中,WINDOWWIDTH是屏幕的宽度,WINDOWHEIGHT是屏幕的高度。

2.2 添加自定义函数main()

在代码起始位置处,添加添加自定义函数main(),该函数的作用是完成初始化操作并启动游戏。将Pygame编程框架中创建游戏屏幕、设置屏幕标题以及while True循环的代码都放在main()函数中,如图3所示。

图3 main()函数代码

其中,因为要在其它函数中使用创建的游戏屏幕DISPLAYSURF,第6行代码将其声明为全局变量;第7行代码创建游戏屏幕DISPLAYSURF;第8行代码设置屏幕的标题;从第9行代码开始是Pygame编程框架中的while True循环;第10-13行代码处理事件队列中的事件;第15行代码设置游戏屏幕的背景,BGCOLOR在main()函数之外定义,如图4所示。

相关链接1 global关键字的相关资料,请参考

《Python中的全局变量与局部变量》

图4 定义颜色的代码

其中,第22-31行代码定义了游戏中使用的各种颜色;第33行代码定义了背景颜色BGCOLOR。

2.3 设置游戏的主程序

游戏主程序的代码如图5所示。

图5 游戏主程序的代码

其中,第35行判断__name__值是否是"main",如果是,则调用main()函数启动游戏。

相关链接2 游戏主程序代码的相关资料,请参考

《Python中__name__=='main'的含义》

3 程序运行效果

修改后的Pygame编程框架,代码运行效果如图6所示。

图6 代码运行效果

4 完整代码

修改后的Pygame编程框架代码如下所示。

python 复制代码
import pygame
import os
from pygame.locals import *

def main():
    global DISPLAYSURF
    DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT))
    pygame.display.set_caption('Memory Puzzle')
    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                os.sys.exit()

        DISPLAYSURF.fill(BGCOLOR)
        pygame.display.update()
    
pygame.init()
WINDOWWIDTH = 640 
WINDOWHEIGHT = 480

GRAY     = (100, 100, 100)
NAVYBLUE = ( 60,  60, 100)
WHITE    = (255, 255, 255)
RED      = (255,   0,   0)
GREEN    = (  0, 255,   0)
BLUE     = (  0,   0, 255)
YELLOW   = (255, 255,   0)
ORANGE   = (255, 128,   0)
PURPLE   = (255,   0, 255)
CYAN     = (  0, 255, 255)

BGCOLOR = NAVYBLUE

if __name__ == '__main__':
    main()
相关推荐
jufeng13071 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 8 篇】
python·ai agent·配置系统
circuitsosk1 小时前
跨境电商智能化实战:AI如何赋能客服自动回复、广告智能投放与供应链预测
大数据·人工智能·python·langchain·智能客服
2601_956319882 小时前
2026年零基础学量化:从看懂示例到写清条件和动作
人工智能·python
过期的秋刀鱼!2 小时前
LangChain-D1-模型的工作流程
人工智能·python·langchain
萤火工厂目视化设计2 小时前
智能制造与企业文化目视化浪潮下:中小工厂的机遇与挑战
python·制造
DeepVisionary3 小时前
从GPT-5.6 Sol的Ultrafast模式看推理速度竞赛:750 token/秒背后,Cerebras的晶圆级生意
python·自动化
leisoo80974 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
小柯南敲键盘5 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕一站式工具
人工智能·python·音视频
卷无止境5 小时前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python
卷无止境5 小时前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python