pgzrun 拼图游戏制作过程详解(3)

news/2024/5/18 15:58:48 标签: python, pygame, 游戏程序, 开发语言

3. 绘制完整的拼图

  •  建立Gird列表存储小拼图的基本信息

python">Gird=[]
for i in range(6):
    for j in range(4):
        Square=Actor("girl_06")
        Square.left=Square_size*j
        Square.top=Square_size*i
        Gird.append(Square)
  • 修改draw()绘制函数
    建立循环绘制Gird列表中的所有小拼图

python">def draw():
    screen.clear()
    for Square in Gird:
        Square.draw()

        执行效果如图所示:

        

  • 建立列表Squares存储所有的小拼图文件
    为了能把24个不同的小拼图块都显示出来,利用列表Squares存储所有的小拼图文件
python">Squares=[Actor("girl_01"),Actor("girl_02"),Actor("girl_03"),Actor("girl_04")
        ,Actor("girl_05"),Actor("girl_06"),Actor("girl_07"),Actor("girl_08")
        ,Actor("girl_09"),Actor("girl_10"),Actor("girl_11"),Actor("girl_12")
        ,Actor("girl_13"),Actor("girl_14"),Actor("girl_15"),Actor("girl_16")
        ,Actor("girl_17"),Actor("girl_18"),Actor("girl_19"),Actor("girl_20")
        ,Actor("girl_21"),Actor("girl_22"),Actor("girl_23"),Actor("girl_24")
         ]

        修改Gird列表中的图块对象,通过索引调用Squares中的小拼图。

python">Square=Squares[i*4+j]

执行效果如图所示:

完整代码如下: 

python"># 利用列表存储所有的图块信息 将完整的图片显示出来
import pgzrun  # 导入游戏库

TITLE="pgzrun 拼图游戏"  # 窗口标题
Square_size=125         # 设定移动图块的大小
WIDTH=Square_size*4     # 窗口宽度
HEIGHT=Square_size*6    # 窗口高度

Squares=[Actor("girl_01"),Actor("girl_02"),Actor("girl_03"),Actor("girl_04")
        ,Actor("girl_05"),Actor("girl_06"),Actor("girl_07"),Actor("girl_08")
        ,Actor("girl_09"),Actor("girl_10"),Actor("girl_11"),Actor("girl_12")
        ,Actor("girl_13"),Actor("girl_14"),Actor("girl_15"),Actor("girl_16")
        ,Actor("girl_17"),Actor("girl_18"),Actor("girl_19"),Actor("girl_20")
        ,Actor("girl_21"),Actor("girl_22"),Actor("girl_23"),Actor("girl_24")
         ]
Gird=[]
for i in range(6):
    for j in range(4):
        Square=Squares[i*4+j]
        Square.left=Square_size*j
        Square.top=Square_size*i
        Gird.append(Square)

def draw():
    screen.clear()
    for Square in Gird:
        Square.draw()

def update():
    pass

pgzrun.go()

pgzrun拼图游戏素材包下载 


http://www.niftyadmin.cn/n/5022752.html

相关文章

【Unity3D】UI Toolkit数据动态绑定

1 前言 本文将实现 cvs 表格数据与 UI Toolkit 元素的动态绑定。 如果读者对 UI Toolkit 不是太了解,可以参考以下内容。 UI Toolkit简介UI Toolkit容器UI Toolkit元素UI Toolkit样式选择器UI Toolkit自定义元素 本文完整资源见→UI Toolkit数据动态绑定。 2 数据…

【大数据】美团 DB 数据同步到数据仓库的架构与实践

美团 DB 数据同步到数据仓库的架构与实践 1.背景2.整体架构3.Binlog 实时采集4.离线还原 MySQL 数据5.Kafka2Hive6.对 Camus 的二次开发7.Checkdone 的检测逻辑8.Merge9.Merge 流程举例10.实践一:分库分表的支持11.实践二:删除事件的支持12.总结与展望 1…

玩转 gpgpu sim 01记 —— try it

1. 短介绍 gpgpu-sim 是一个gpu模拟器,可以让cuda/openCL程序运行在一个软件模拟器上,而不需要硬件GPU; 2. 目标 用最简单省事的方式跑通一个gpgpu-sim的仿真 3. gpgpu-sim 一点项目特性 开发比较早,没有持续的维护&#xff0…

SpringMvc第五战-【SpringMvcJSR303和拦截器】

前言: 小编阐述了springmvc 中的文件下载,以及jrebel的使用和文件下载以及多文件下载! 在本次小编将会介绍JSR303的概念,应用场景和在具体实例的使用;和拦截器的应用 一.JSR303的介绍 1.什么是JSR303? JSR是Java S…

php程序设计的基本原则

单一职责原则(SRP):一个类应该只有一个原因引起变化,即一个类应该只负责一项职责。 class User {private $name;private $email;public function __construct($name, $email) {$this->name $name;$this->email $email;}p…

React框架下如何集成H.265网页流媒体视频播放器EasyPlayer.js?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8&#…

时间序列论文-聚类和异常检测(一)

这篇文章摘自,知乎:https://www.zhihu.com/question/29507442/answer/1212624591?utm_id0 写的很好,就记录一下。 两篇关于时间序列的论文 原文链接:两篇关于时间序列的论文 这次整理的就是清华大学裴丹教授所著的两篇与时间序…

PyCharm Clion IDEA专业版安装图文教程

1.下载专业版 PyCharm Download PyCharm: Python IDE for Professional Developers by JetBrains 2.以2023.1.4为例 3.next 4.next 5.next 6.Install 7.Finish 8.Activate 链接:https://pan.baidu.com/s/1N9n8wGgkvjfOX8oDrfX2Hw 提取码:yyds