Python实现连连看5

3 游戏初始化

当点击图5显示的菜单项“新游戏->开始游戏”后,游戏会显示图2所示的界面,开始游戏。

以上游戏初始化的过程可分为导入图片、生成图片地图以及根据地图显示图片三个步骤。

3.1 导入图片

图2所示的图片资源保存在“\res\pics”文件夹中,以1.png、2.png...25.png分别进行命名。通过PIL库将上述图片文件导入。

3.1.1 PIL库介绍

PIL是Python Imaging Library即Python图像库的简称,是一个强大的图像处理库,提供了丰富的图像处理功能。它支持图像的打开、保存、缩放、旋转、裁剪、滤镜等功能。PIL库提供了Image模块和ImageTK模块,通过Image模块导入图像文件,之后再通过ImageTK模块将导入的图像转换为tkinter中可用的PhotoImage对象,从而可以在tkinter窗口中显示和操作图像。

3.1.2 PIL库的导入

使用如下代码导入PIL库的Image模块和ImageTK模块。

from PIL import Image, ImageTk

注意1 PIL库并不是IDLE自带的,安装PIL库的指令是pip install pillow。

3.1.3 使用PIL库导入所有图片

自定义函数getPic(),导入游戏所需的所有图片资源,代码如下所示。

NUM_PIC = 25
pics_all = []def getPic():for i in range(0, NUM_PIC):pic = Image.open('/res/pic/'+str(i+1)+'.png')pics_all.append(ImageTk.PhotoImage(pic))

其中,NUM_PIC是图片的数量,通过Image.open()导入指定图片,之后使用ImageTk.PhotoImage()将导入的图片转换为PhotoImage格式,并将图片放入列表pics_all中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/847951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NGINX 部署项目时,遇到刷新页面导致 404

步骤一:准备项目 首先,确保你的项目已经构建完毕,并且所有静态文件(如 index.html, js, css 文件等)都位于一个目录下,例如 /path/to/your/project。 步骤二:编辑 NGINX 配置文件 打开 NGINX 配置文件 你需要打开 NGINX 的配置文件。通常,这个文件位于 /etc/nginx/ngin…

CSS(盒子模型,定位,浮动,扩展)

CSS 盒子模型:外边距:内边距:水平居中: 定位:相对定位:绝对定位:固定定位: 浮动:扩展: 盒子模型: 盒子模型(Box Model) 规定了元素框处理元素内容…

Java核心: 使用instrumentation

在上一篇Java核心: 注解处理器我们提到,通过实现AbstractProcessor,并调用javac -processor能够生成代码来实现特殊逻辑。不过它存在两个明显的问题: 只能新增源文件来扩展逻辑,无法修改现有的类或方法必须有一个单独的编译过程,…

3毛钱的QC协议芯片TYPE-C USB快充接口物理层IC

前言: 现在基本使TYPE-C打天下了。很多产品和TYPEC息息相关,如笔记本的电源接口,手机更不用说了,甚至电烙铁也使TYPE-C接口的了,很多涉及采用TYPE-C接口的快充接口,简单的可以用电阻欺骗快充头&#xff0c…

什么是it运维工单系统?有哪些应用价值?

it运维工单系统是一个智能化的it运维服务管理系统,可以为企业和服务提供商提供高效的it运维服务管理,它可以自动分配任务、优化工作流程并跟踪工作进展,从而大大提高it运维工作效率和客户满意度。 一、it运维工单系统是什么? it…

100000开发的系统,执意重构钱多执念?

收到一位客户询盘,要重做自己的系统,原因:嫌弃基于PHP做的系统服务器消耗大。咨询了好几拨人,觉得外包公司贵,个人程序员又不靠谱,总之一门心思要重构。 现状: 1、系统研发耗费100000。 2、目…

Java编程常见问题汇总五

系列文章目录 文章目录 系列文章目录前言一、捕获不可能出现的异常二、transient的误用三、不必要的初始化四、最好用静态final定义Log变量五、选择错误的类加载器 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

docker create rm export exec命令详解

容器生命周期管理命令教程-3 1. 创建容器 docker create:创建一个新的容器但不启动它。 docker create -it --name mycontainer ubuntu bash通常使用 docker run(详细可看上一篇关于run命令的详细介绍) 2. 删除容器 docker rm:删除一个或多个容器。 d…

【ArrayList】不推荐使用Vector来实现线程安全的原因

在Java中,不推荐使用Vector来实现线程安全的ArrayList,主要原因有以下几点: 同步机制效率低下: Vector的所有方法都被同步(synchronized)了,这意味着每次对Vector的操作都会获取并释放锁。这种方…

嵌入式C与C语言

简介 嵌入式 C"这个概念更多地是指 C 语言在嵌入式系统中的应用,而不是 C 语言本身的语法和特性。 语言标准 无论是普通 C 还是嵌入式 C,它们都遵循相同的 C 语言标准,如 C89、C99 或 C11 等。 从语言规范的角度来看,两者没有本质的区别。 编程模型 嵌入式 C 更多地关…

【python】 ModuleNotFoundError: No module named datasets

成功解决“ModuleNotFoundError: No module named datasets”错误的全面指南 在Python编程中,遇到ModuleNotFoundError: No module named datasets这样的错误通常意味着Python解释器无法找到名为datasets的模块。datasets是一个流行的Python库,常用于加载…

spring 事务失效的几种场景

一、背景 在 springBoot 开发过程中,我们一般都是在业务方法上添加 Transactional 注解来让 spring 替我们管理事务,但在某些特定的场景下,添加完注解之后,事务是不生效的,接下来详细介绍下。 二、方法不是 public 2…

[leetcode hot 150]第一百三十六题,只出现一次的数字

题目: 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 根据题目关于空间、…

心链9----组队功能开发以及请求参数包装类和包装类实现

心链 — 伙伴匹配系统 组队功能开发 需求分析 理想的应用场景 我要跟别人一起参加竞赛或者做项目,可以发起队伍或者加入别人的队伍 用户可以 创建 一个队伍,设置队伍的人数、队伍名称(标题)、描述、超时时间 P0 队长、剩余的人数…

漏电保护器的工作原理

漏电保护器上的每月按一次按钮,如果按下后开关立即跳闸,则证明漏保功能良好该按钮的工作原理是模拟线路漏电,在漏保内部存在一个零序互感器,零序互感器分别测量零线和火线的电流值,如果二者数值不相等,零火…

【WEB系列】过滤器Filter

Filter,过滤器,属于Servlet规范,并不是Spring独有的。其作用从命名上也可以看出一二,拦截一个请求,做一些业务逻辑操作,然后可以决定请求是否可以继续往下分发,落到其他的Filter或者对应的Servl…

海报在线制作系统

文章转载自:FastAdmin海报在线制作系统 - 源码1688 应用介绍 介绍 新机构海报是一款基于FastAdminThinkPHP开发的一款新机构海报。 采用JavaScript vue canvas技术,实现在线一键制作海报,生成海报。 功能特性 1、自由创作 2、一键制作…

Django使用正则表达式

本书1-7章样章及配套资源下载链接: https://pan.baidu.com/s/1OGmhHxEMf2ZdozkUnDkAkA?pwdnanc 源码、PPT课件、教学视频等,可以从前言给出的下载信息下载,大家可以评估一下。 在Django框架的新版本(v2.0 )中,URLc…

文件读取技巧

在CTF(Capture The Flag)比赛中,PHP文件读取是一种常见的挑战类型,通常涉及利用PHP中的文件包含功能或者一些不安全的文件操作来读取服务器上的敏感文件。这些敏感文件可能包含源代码、配置文件、密码甚至是FLAG(比赛的…

ECharts 图形化看板 模板(简单实用)

目录 一、官网 二、模板 ①定义请求​编辑 ② 将请求统一管理,别的页面引用多个请求时更便于导入。​编辑 ③最终模板 三、执行效果 四、后端代码 4.1 controller 4.2 xml 4.3 测试接口 一、官网 获取 ECharts - 入门篇 - 使用手册 - Apache ECharts 二、…