gameturtle模块是本人开发的进行python趣味编程的一个模块,不敢独自享用,需要的请在以下网址下载,
链接:https://pan.baidu.com/s/1i-bl7e2M2OP-CJ4JzeFL1g
提取码:jro5
如果链接失效,联系本人微信pythonxia,以下是说明书部分预览.
通常用少儿们进行Python编程入门的学习用的是turtle模块。它主要提供画图的功能,虽然也可以用来做动画或者游戏,但对初学者的编程水平要求较高。而本人开发的游戏海龟模块就创新性地解决了如何简单而又有趣地制作游戏的问题。为广大入门学习Python的人们又提供了一个利器。 不仅用它所编出来的程序可以直接在原生的Python环境中运行,而且天然无缝地连接着tkinter可视化编程的学习。笔者也具有多年的pygame游戏开发的经验。相对于pygame模块,用这个模块制作游戏更加符合人类思维,也就更加简单。
俗话说,兴趣是最好的老师。游戏海龟模块封装了在游戏中需要用到的一些功能,呈现了更加上层的逻辑给学习者。学习者只要发挥想像力,就能编写出各种有趣而有创意的Python程序作品。兴趣有了,只要学习者有钻研精神,还可以探究本模块背后的知识。为进一步学习图形处理与numpy模块打下较好的基础,所以说它是具有较大实用价值的一个模块。
游戏海龟模块对应的英文模块名称是:gameturtle。文件名是gameturtle.py。本模块最新版本是笔者于2021年6月4日开发完成。版本号是0.278版。这个模块采用Python计算机语言开发。开发环境为Python3和windows7操作系统。它所依赖的主要模块为numpy模块和pillow模块。这两个都是Python非常实用与常见的模块。它还导入了tkinter模块的Tk和Canvas这两个类,所以可以直接使用这两个类。由于在gameturtle模块中给Canvas增加了几个方法,所以如果在使用了from gameturtle import * 后又使用from tkinter import *语句,那么后面导入的会覆盖前面的Tk和Canvas类。正确的方法是先使用from tkinter imort *语句,再使用from gameturtle import *语句。
gameturtle模块的用途是配合Python的可视化tkinter模块开发动画与游戏作品的模块。主要应用在少儿学习tkinter可视化编程这一领域。这个模块中的核心功能是由Sprite类提供的。围绕着Sprite类,开发了Rect类等诸多单独的函数及辅助函数。其中图形处理函数较多,如pixelate函数,提供像素化图形效果。还有mozaic函数,提供马赛克功能,而setalpha函数则提供了虚像效果。 通过设计txt2images函数,则能把文本转换成字幕动画。具体详情,见接下来的介绍,这里就不叙述了。
Python自带的turtle模块是不提供碰撞检测的。笔者设计这个模块时深入研究了像素级碰撞检测原理,给它编写了一些方便游戏开发需要使用的功能,如,颜色碰撞检测功能。有了这个功能,编制迷宫类型、平台游戏与射击类型的游戏就非常简单了。如,支持角色说话的时候显示说话泡泡功能。这样,编制RGP与故事类的动画与游戏,甚至用Python制作幻灯片或者制作教学课件都比较简单了。还创新性地设计了Key类和Mouse类。这让在循环控制结构中不断检测按键提供了支持。
还有一点就是这个类的很多方法,和Python内置的turtle模块的方法同名。如write命令,dot命令,forward/fd命令,right/left命令,distance命令,towards命令,pencolor命令,fillcolor命令,color命令,begin_fill和end_fill命令,使用方法基本和turtle模块所定义的一致。这样让学习过Python海龟画图模块的读者容易切换到gameturtle模块的学习中。也可以这么说,它有点像是Python内置的海龟模块的升华版本。其命令的名字相同,只是为了方便学习,每个命令的代码都是全新编写的。
安装gameturtle模块的基本方法有两种。一种是在命令提示符窗口输入 pip install gameturtle,这必需是要在联网的情况下才能自动安装好。.............................
以下是说明书目录:
1、 | gameturtle模块简介与安装 | .............................. | 4 |
2、 | gameturtle模块核心功能设计图谱与简要说明 | .............................. | 9 |
3、 | gameturtle模块Sprite类的collide方法 | .............................. | 12 |
4、 | gameturtle模块Sprite类的say方法 | .............................. | 15 |
5、 | gameturtle模块Sprite类的多帧造型 | .............................. | 16 |
6、 | gameturtle模块和coloradd模块配合使用 | .............................. | 18 |
7、 | gameturtle模块single2multitext命令的用法 | .............................. | 20 |
8、 | gameturtle模块spliceimage命令的用法 | .............................. | 22 |
9、 | gameturtle模块splitgif命令的用法 | .............................. | 23 |
10、 | gameturtle模块makegif命令的用法 | .............................. | 25 |
11、 | gameturtle模块的txt2image和txt2images命令的用法 | .............................. | 27 |
12、 | gameturtle模块setalpha命令的用法 | .............................. | 29 |
13、 | gameturtle模块的标签相关的命令用法 | .............................. | 31 |
14、 | gameturtle模块collide_tag命令的用法 | .............................. | 32 |
15、 | gameturtle模块collide_color命令的用法 | .............................. | 35 |
16、 | gameturtle模块color_collide_color命令的用法 | .............................. | 37 |
17、 | gameturtle模块的键盘按键检测命令的用法 | .............................. | 40 |
18 | gameturtle模块的鼠标按键检测命令的用法 | .............................. | 44 |
19 | gameturtle模块make_rect和make_ellipse函数用法 | .............................. | 46 |
20 | gameturtle模块的pixelate函数的使用方法 | .............................. | 47 |
21 | gameturtle模块的mozaic函数的使用方法 | 49 | |
22 | gameturtle模块的Clock命令的使用方法 | .............................. | 51 |
23 | gameturtle模块Sprite类、Key类、Mouse类方法表 | .............................. | 53 |
以下我额外编写的案例:
以下是说明书案例: