《Python海龟宝典》是李兴球自2010年从事少儿编程行业以来,在Python少儿编程领域的厚积薄发之作。 本部创造分为上册案例篇,共200多个例子及教程,还有下册原理篇,对海龟模块本身进行了剖析,以下是简介: |
|
上 册 案 例 篇 简 介: |
Python是一种高阶计算机语言。它更接近自然语言,学习成本低,开发效率高。如今越来越多的中小学生都在开始学习Python了。我们可以预见,全民会Python的日子不久就会到来,各行各业的人未来都能用Python解决各自领域的问题或创造出独特魅力的作品。在Python的普及过程中,海龟模块(turtle)将会功不可没。它的教学思想来源于上个世纪60年代的logo计算机语言,就是通过编写指令指挥一只小海龟移动从而进行绘画,来教少年们进行计算机编程入门。相当多的教授计算机编程入门的语言都有“海龟”的影子,如Scratch的绘画功能。一些编程教育机器人或编程教育软件也有类似的“海龟”指令指挥角色移动。也有人给C++、C#、java、javascript等开发了相应的海龟模块,让人们学习这些计算机语言的编程入门。无论采用哪种计算机语言,海龟编程方式的基本理念和大致方法甚至命令都是一样的。正所谓万变不离其踪,编程的原理都差不多。如果把其它计算机语言看成是Python的方言,那么只要把Python的海龟模块学精了,学习其它计算机语言是相当容易的,很快就能入门。通常人们是用turtle模块进行绘画,不过本书早已跳出了这个范畴,用turtle模块制作游戏和动画,当然绘画也有,但都是别具一格的。 《Python海龟宝典》分为上下两册。上册是案例篇,主要提供用turtle模块制作的例子集。它的下册是原理篇,对海龟画图模块本身,即turtle.py文件进行了剖析,并且在基于分析的基础上由浅入深地推出一个基于tkinter的gameturtle模块,支持像素级碰撞检测等等,主要用于游戏制作。想成为Python创意编程大师吗?那么读懂了下册原理篇,再加上你的想像力,你就会成功。上册案例篇汇集了李兴球先生2021年1月13 日前来用Python的海龟画图模块为主创作的作品共200个左右。 所有案例力求短小精悍,突出重点。前面一些较为简单,但总体上并没有按从简单到复杂的顺序编排。有些作品由于配音等的需要,要导入其它模块,如pygame的mixer混音器模块,所以运行程序之前需要先安装好pygame模块。其方法是在命令提示符下输入pip install pygame --user。有些作品需要诸如pymunk物理引擎模块,它的安装方法是pip install pymunk。还有进行图像处理的pillow模块也要安装好,安装方法是pip install pillow。为了让一些绘画效果更加酷炫,笔者开发了一个叫coloradd的模块。它能让颜色的色相增加,从而实现颜色的渐变效果。这就像美国麻省理工学院媒体实验室终身幼儿园教研组开发的Scratch中的颜色增加命令一样。这样能让绘画作品产生颜色渐变效果。本模块已放到了pypi.org中。读者只要在cmd窗口里输入pip install coloradd即可安装。不过本册已经对coloradd的原理进行了剖析,所以读者读完后能知道coloradd模块的秘密 ,以后就不需要安装coloradd模块了。 作品都是精心挑选,以期与众不同,并且遵循Python的设计哲学与规范。大多数代码有注释并力求对齐。极少数程序提供的是一个核心或者说叫雏形,用来抛砖引玉。为了追求完美,有些程序保留了老的版本。它们的文件名后会加上_old这四个字符。所有作品为李兴球原创,可提供技术支持。由于笔者精力有限,无法顾及方方面面。书中如有不对或者笔误还请原谅。本书是继笔者编写的《哪吒学Python-启蒙篇》、《哪吒学Python-初级篇》、《哪吒学Python-进阶篇》、《Python创意编程之Pygame教程》、《Python精灵模块》、《1943中途岛海战turtle版》、《Python创意编程100例Pygame篇》、《Python神笔马良练习集》、《Python海龟手册》等之后的又一力作。通过安排,让书中的案例和前面三本中的案例基本没有重复。本书适合于有一定Python基础,最好学习过tkinter模块和面象对象编程的人士阅读。它是学校计算机教师、编程培训机构教师、少儿机器人培训机构教师、创客教师不可多得的参考资料。尤其是对于想深入研究turtle模块的人士或者想开发基于tkinter的自己的实用模块的教研机构有着更大的价值。所编写的这些案例与历史、天文、国学、游戏、音乐艺术、课件、数学、几何、编程技巧、多媒体动画、物理引擎、绘画艺术甚至相声与自编诗词的融入结合,开创了Python创意编程史上的新纪元。希望读者能参透精髓,结合各自所擅长的领域,编写出更加富有创意性、艺术性的作品。更多Python创意编程案例请上李兴球的博客,网址为: www.lixingqiu.com。 本书在创造的过程中得到了江西萍乡乐学创客教育学校胡自勇先生的大力支持,在此表示衷心的感谢。 |
上 册 案 例 篇 目 录 表: |
001_淘气的窗口 |
........................ |
15 |
002_和海龟捉迷藏 |
........................ |
18 |
003_沙滩爬的海龟 |
........................ |
21 |
004_海龟的小伙伴们 |
........................ |
23 |
005_棕色海龟是傀儡 |
........................ |
26 |
006_七彩三角形 |
........................ |
29 |
007_旋转之田 |
........................ |
31 |
008_透明海龟学弟子规 |
........................ |
34 |
009_弹球动画 |
........................ |
39 |
010_定时器与弹球类 |
........................ |
41 |
011_拦球小游戏 |
........................ |
44 |
012_动态音乐梦幻空间 |
........................ |
49 |
013_酷炫效果同心圆 |
........................ |
52 |
014_造型旋转重复之美 |
........................ |
55 |
015_时光倒流的向日葵 |
........................ |
57 |
016_酷炫彩圆盘 |
........................ |
60 |
017_漂亮的八字彩环 |
........................ |
62 |
018_海龟的七子之歌 |
........................ |
64 |
019_夜幕下的霓虹_闪烁版 |
........................ |
68 |
020_彩点实验正弦之美 |
........................ |
71 |
021_turtle_棒棒糖 |
........................ |
73 |
022_道德经摘要字幕演示课件 |
........................ |
75 |
023_孙悟空的72变交互小动画 |
........................ |
79 |
024_超速莲花 |
........................ |
81 |
025_趣味3D红框 |
........................ |
85 |
026_方形炫彩螺 |
........................ |
89 |
027_多彩勾股树 |
........................ |
91 |
028_三叶炫彩扇 |
........................ |
95 |
029_纯色滚动圆环 |
........................ |
98 |
030_字母排列组合游戏 |
........................ |
102 |
031_模拟3D星空(右出) |
........................ |
107 |
032_奔跑吧小猫 |
........................ |
110 |
033_一束火红鲜花 |
........................ |
113 |
034_雪的梦幻 |
........................ |
117 |
035_中秋仙女送月饼 |
........................ |
121 |
036_海龟画图保存为png |
........................ |
126 |
037_海底世界章鱼哥 |
........................ |
130 |
038_倾巢出动_敌机类 |
........................ |
135 |
039_一闪一闪亮晶晶 |
........................ |
138 |
040_单摆模拟 |
........................ |
141 |
041_欢乐打地鼠 |
........................ |
144 |
042_单击球小游戏 |
........................ |
148 |
043_多彩3D弹球 |
........................ |
153 |
044_保护环境人人有责 |
........................ |
158 |
045_海龟计算器 |
........................ |
162 |
046_哗啦啦的下雨啦 |
........................ |
165 |
047_turtle射击游戏基础 |
........................ |
168 |
048_turtle打字游戏雏形 |
........................ |
172 |
049_四小星绕大红星旋转 |
........................ |
175 |
050_飞机大战雏形游戏 |
........................ |
178 |
051_半透明效果圆形图 |
........................ |
182 |
052_类外定义addx与addy |
........................ |
185 |
053_点点当当抽数字 |
........................ |
187 |
054_填充块的秘密 |
........................ |
190 |
055_酷酷的爆炸效果_多线程版 |
........................ |
193 |
056_360度旋转图像Sprite角色类 |
........................ |
196 |
057_8字图章小海龟 |
........................ |
202 |
058_贪吃蛇图章版 |
........................ |
204 |
059_贪吃蛇列表版 |
........................ |
210 |
060_按键检测探秘 |
........................ |
213 |
061_可爱的金币天使 |
........................ |
215 |
062_三只小黄猫_多帧走路动画 |
........................ |
219 |
063_音乐悬浮按钮 |
........................ |
223 |
064_生命模拟turtle版 |
........................ |
227 |
065_跟随鼠标移动并旋转的五角星 |
........................ |
232 |
066_海龟所有可用颜色单词 |
........................ |
236 |
067_猜数游戏海龟画图版 |
........................ |
242 |
068_后羿射日之前 |
........................ |
245 |
069_动画音乐树 |
........................ |
249 |
070_冒泡排序彩柱图演示 |
........................ |
252 |
071_哪吒拼图核心 |
........................ |
256 |
072_太空出租箭关卡设计器 |
........................ |
261 |
073_向后滚动背景 |
........................ |
266 |
074_多线程弹球 |
........................ |
269 |
075_格子海龟 |
........................ |
272 |
076_螺旋的世界 |
........................ |
275 |
077_切片教学演示动画 |
........................ |
278 |
078_矩形抽象画 |
........................ |
283 |
079_模拟时钟程序 |
........................ |
287 |
080_神笔马良之旋转雪花 |
........................ |
291 |
081_飘移粒子烟花效果 |
........................ |
294 |
082_小女孩的舞蹈 |
........................ |
298 |
083_正弦字画程序 |
........................ |
300 |
084_海龟入门学习器核心 |
........................ |
302 |
085_猴子穿衣装扮游戏 |
........................ |
308 |
086_怦然心动 |
........................ |
311 |
087_动态情景配音春晓 |
........................ |
314 |
088_迪迦奥特曼多媒体动画 |
........................ |
317 |
089_简易画板 |
........................ |
319 |
090_微重力方块 |
........................ |
323 |
091_调皮的小方块 |
........................ |
326 |
092_漂亮二叉分形树 |
........................ |
329 |
093_3D物理互碰弹球 |
........................ |
332 |
094_纯画笔弹球 |
........................ |
336 |
095_旋转的赫兹 |
........................ |
339 |
096_环环相扣与类的继承 |
........................ |
342 |
097_鼠标移动事件 |
........................ |
345 |
098_合金弹头Marco角色 |
........................ |
347 |
099_形状函数模块设计 |
........................ |
351 |
100_笑脸图产生器 |
........................ |
355 |
101_英雄的黎明 |
........................ |
361 |
102_三十六计 |
........................ |
366 |
103_孙子兵法名人赞誉 |
........................ |
372 |
104_增广贤文精选 |
........................ |
375 |
105_秋天的诗 |
........................ |
378 |
106_秋日私语 |
........................ |
382 |
107_圈内海龟弹 |
........................ |
385 |
108_画鸡蛋 |
........................ |
388 |
109_物理_投射彩线条 |
........................ |
390 |
110_八彩盘子动画 |
........................ |
394 |
111_递归方形雪花 |
........................ |
396 |
112_爆炸粒子效果 |
........................ |
400 |
113_混沌法画谢尔宾斯基分形图 |
........................ |
405 |
114_混沌法画绿叶 |
........................ |
408 |
115_纯画笔线条_演示Vec2D向量类 |
........................ |
410 |
116_翻转格子 |
........................ |
412 |
117_文字单摆运动 |
........................ |
417 |
118_递归三角分形动态演示图 |
........................ |
419 |
119_纯画笔月球动画 |
........................ |
423 |
120_帧率恒定的弹球动画 |
........................ |
425 |
121_拉皮筋发射程序 |
........................ |
429 |
122_蜈蚣动画 |
........................ |
432 |
123_雪花飘漂亮树 |
........................ |
434 |
124_零重力互碰弹球 |
........................ |
437 |
125_turtle手电筒效果印度姑娘 |
........................ |
441 |
126_超级玛丽的砖块 |
........................ |
444 |
127_花瓣飞舞的春天turtle版 |
........................ |
448 |
128_春来了创意图章动画 |
........................ |
450 |
129_颜色圈圈音乐动画 |
........................ |
452 |
130_摩天轮动画 |
........................ |
455 |
131_600粒子绕中心旋转程序 |
........................ |
457 |
132_画龟类 |
........................ |
460 |
133_和机器人对话 |
........................ |
463 |
134_冰雪奇缘雪花音乐动画 |
........................ |
469 |
135_越穿山洞横版闯关原形 |
........................ |
473 |
136_牵引小眼珠画笔交互动画 |
........................ |
476 |
137_turtle真正可移动背景 |
........................ |
479 |
138_螺旋彩点假转动画 |
........................ |
481 |
139_流光溢彩棒动画 |
........................ |
483 |
140_春之花画笔音乐动画 |
........................ |
485 |
141_如意动感彩圈圈 |
........................ |
487 |
142_三星绕月 |
........................ |
490 |
143_旋转的太极图 |
........................ |
493 |
144_画有倾斜角度的椭圆 |
........................ |
496 |
145_三角旋转之星 |
........................ |
499 |
146_露珠之诗 |
........................ |
502 |
147_滚动缩放龟 |
........................ |
505 |
148_跳动的余弦动画 |
........................ |
508 |
149_八彩旋转螺旋动画 |
........................ |
510 |
150_飘扬的五星红旗 |
........................ |
512 |
151_正方形悄悄地走了 |
........................ |
516 |
152_旋转花瓣叶 |
........................ |
518 |
153_红心biubiubiu |
........................ |
520 |
154_RGB颜色混合器lxq版 |
........................ |
524 |
155_滚动颜色条 |
........................ |
528 |
156_旋转散射背景 |
........................ |
530 |
157_大雪纷飞模拟 |
........................ |
532 |
158_钻石情缘 |
........................ |
535 |
159_大风车动画 |
........................ |
538 |
160_迷宫游戏原形 |
........................ |
542 |
161_自制图像查看程序 |
........................ |
546 |
162_旋转文字效果 |
........................ |
548 |
163_神童诗_多媒体演示 |
........................ |
550 |
164_炫彩螺旋克隆动画 |
........................ |
555 |
165_可爱的按钮_进入与离开事件 |
........................ |
559 |
166_给turtle.py增加鼠标移动事件 |
........................ |
563 |
167_女儿经 |
........................ |
566 |
168_云朵生成器 |
........................ |
575 |
169_动画原理 |
........................ |
578 |
170_绕中心点旋转之星 |
........................ |
580 |
171_画水滴图形 |
........................ |
582 |
172_矩形缩放原理 |
........................ |
548 |
173_美国队长之盾 |
........................ |
588 |
174_卡通坐标阵列 |
........................ |
590 |
175_人体器官指示图教学指示动画 |
........................ |
594 |
176_可移动的通电棒棒 |
........................ |
597 |
177_木条拦彩球游戏(mouse控制) |
........................ |
599 |
178_水波纹模拟 |
........................ |
605 |
179_艺术彩花之三角花 |
........................ |
608 |
180_左三圈右三圈女孩动画 |
........................ |
611 |
181_雅典娜的凝望 |
........................ |
613 |
182_求正多边形其它顶点 |
........................ |
616 |
183_海龟画图原理类Pointer类 |
........................ |
618 |
184_三角函数画星星 |
........................ |
622 |
185_海龟快跑turtle碰撞检测交互动画 |
........................ |
625 |
186_控制fps的时钟Clock类 |
........................ |
628 |
187_高斯模糊效果姑娘 |
........................ |
632 |
188_淡入淡出的姑娘_虚像效果 |
........................ |
635 |
189_我只在乎你MV |
........................ |
637 |
190_击鸟行动 |
........................ |
640 |
191_仿pygame键检测_跳跳方块 |
........................ |
644 |
192_颜色渐变原理函数coloradd |
........................ |
648 |
193_颜色亮度渐变原理 |
........................ |
650 |
194_佛光普照 |
........................ |
652 |
195_矩形碰撞演示 |
........................ |
655 |
196_词云在海龟屏幕上 |
........................ |
659 |
197_幻灯片式显示字幕 |
........................ |
661 |
198_海龟命令助记器 |
........................ |
663 |
199_海上生明月动图 |
........................ |
669 |
200_滚动画布与旋转文字示例 |
........................ |
672 |
201_反弹原理 |
........................ |
674 |
202_imageturtle模块初探 |
........................ |
676 |
|
下 册 原 理 篇 简 介: |
《Python海龟宝典》下册原理篇对海龟画图模块本身,即turtle.py文件进行了剖析。在阅读本部书之前,读者最好多多阅读几次turtle.py源文件本身,这样才能事半功倍。本部创作已经自带了turtle.py文件,但是笔者已经给它加上了中文注释,以方便读者阅读。在创造的过程中,循环渐进地开发了一新的叫gameturtle的模块。本模块已放到了pypi.org中。读者只要在cmd窗口里输入pip install gameturtle即可安装。本篇对于想深入研究turtle模块的人士有着更大的价值。由于turtle模块基于tkinter模块开发,所以也顺便学习了tkinter模块。读者最好有tkinter编程方面的知识,如果没有可以先阅读笔者撰写的《趣学tkinter》一书。作者推出了自己的颜色碰撞理论,让在tkinter界面编程中的图形可以进行像素级别的重叠检测,所以本书更重要的学习是基于像素碰撞原理的学习。由于笔者精力有限,无法顾及方方面面,如果有笔误甚至不对的地方,还请读者原谅。 本篇最后用gameturtle模块制作了几个小游戏。作为学习案例,并没有让游戏更加复杂,只是用来抛砖引玉,希望读者能推出自己的作品。 本书在创造的过程中得到了江西萍乡乐学创客教育学校胡自勇先生的大力支持,在此表示衷心的感谢。 |
下 册 原 理 篇 目 录 表: |
001_一览众山小 |
........................ |
6 |
002_Shape造型类 |
........................ |
11 |
003_Vec2D二维向量类 |
........................ |
14 |
004_可滚动的画布类 |
........................ |
18 |
005_造型名字shapeIndex和项目编号_item |
........................ |
22 |
006_drawingLineItem正在绘画的线条项目 |
........................ |
28 |
007_currentLineItem当前线条项目 |
........................ |
31 |
008_填充的真相 |
........................ |
36 |
009_图章解密 |
........................ |
40 |
010_让文字旋转吧 |
........................ |
45 |
011_给海龟动个大手术 |
........................ |
51 |
012_给海龟制作旋转补丁 |
........................ |
58 |
013_新版的register_shape方法 |
........................ |
65 |
014_turtle中的图形处理 |
........................ |
69 |
015_若隐若现的海龟 |
........................ |
72 |
016_彻底删除海龟对象 |
........................ |
78 |
017_朝向鼠标指针向前进 |
........................ |
82 |
018_查找重叠与标签 |
........................ |
87 |
019_进入与离开事件 |
........................ |
91 |
020_矩形碰撞检测之Rectangle类 |
........................ |
95 |
021_给RawTurtle类增加矩形碰撞方法 |
........................ |
104 |
022_屏幕的松开鼠标按键与单击并移动事件 |
........................ |
107 |
023_在海龟画图窗口中剪裁图形 |
........................ |
112 |
024_用“turtle”进行模糊处理图像 |
........................ |
119 |
025_numpy图形处理之海龟姑娘的RGB分身术 |
........................ |
123 |
026_像素级碰撞检测前传之GameTurtle类 |
........................ |
129 |
027_GameTurtle类的画笔设计 |
........................ |
133 |
028_GameTurtle类的图章设计 |
........................ |
137 |
029_GameTurtle类的移动与方向设计 |
........................ |
142 |
030_GameTurtle类的图像处理设计 |
........................ |
147 |
031_像素级碰撞理论之矩形碰撞 |
........................ |
152 |
032_像素级碰撞理论之numpy与mask |
........................ |
159 |
033_GameTurtle类封装矩形碰撞方法 |
........................ |
169 |
034_GameTurtle0.2版碰撞方法一览表 |
........................ |
173 |
035_基于十字架模型的矩形碰撞检测 |
........................ |
180 |
036_GameTurtle0.2版的collide_tag方法 |
........................ |
185 |
037_collide_tag方法举例之飞机大战测试 |
........................ |
189 |
038_GameTurtle0.2版的颜色碰撞方法 |
........................ |
193 |
039_简易超级玛丽闯关游戏 |
........................ |
199 |
040_简易迷宫游戏_吃豆版 |
........................ |
205 |
041_是小猫就下一百层 |
........................ |
212 |
042_gameturtle0.21版的shape命令 |
........................ |
217 |
043_gameturtle0.21版的旋转模式 |
........................ |
221 |
044_向后滚动的背景三版本 |
........................ |
225 |
045_奥特曼的诞生 |
........................ |
231 |
046_倾巢出动勇者无敌 |
........................ |
235 |
047_奥特曼打怪兽 |
........................ |
239 |
048_速算达人之猫狮大战 |
........................ |
242 |
|
代码示例或者内页示例: |
|
|
|
|
|
|
|
|
|
用纯粹的turtle海龟模块就可以制作各种动画与游戏,包括你意想不到的各种效果(配合pillow等模块)。 《Python海龟宝典》的上册包括了李兴球自2010年以来探索少儿编程,然后用Python的turtle模块创造的200多例想像力丰富的创意编程案例与教程。 下册是讲海龟画图模块原理,剖析了turtle.py文件本身。深入研究了像素级碰撞检测原理等等,读完后能推出自己的模块。 它不仅是各位计算机教师,培训机构老师想成为Python创意编程大师的利器,而且能为教育培训机构提供大量的python课程,它蕴涵的价值请读者自行发掘与判断。 需要购买《Python海龟宝典》上下两篇请联系微信scratch8(此号已满人,请加pythonxia)。提供PDF电子档及源码及素材。 |
|
用Python的turtle模块制作的创意程序小部分预览: |
|