这篇文章主要介绍了用python的turtle画炫酷的图,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
版权说明:本公号转载文章旨在学习交流,不用于任何商业用途,版权归原作者所有,如有异议,敬请后台联络我们,议定合作或删除,我们将第一时间按版权法规定妥善处理,非常感谢!
又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?于是,今天我们来学习用python制作童年的回忆,一起做回年轻的那个少年。
一、画出童年的卡通人物
一、Turtle图形库简介
Turtle库,又称海龟库,是Python语言中一个很流行的绘制图像的函数库python动态爱心代码。
大家可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle库一般python环境会自带,如果没有这个库查询一下安装方法。
二、常用函数
-
画笔控制函数
penup()
:抬起画笔;pendown()
:落下画笔;pensize(width)
:画笔宽度;pencolor(color)
:画笔颜色;color为颜色字符串或者rgb值
运动控制函数
forward(d)/fd(d)
:直行d个像素;circle(r, extent = None)
:绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;
方向控制函数
setheading(angle)/seth(angle)
:改变前进方向;left(angle)
:海龟左转;right(angle)
:海龟右转;
三、代码演示
下面用海龟库完成蜡笔小新的绘制,下面是部分源码,完整源码以及其余的卡通图案绘制源码见文末。
import turtle as t
t.pensize(4)
t.speed(10)
# =======头======
def head():
t.penup()
t.fillcolor("#FFEE26")
t.goto(-130, 10)
t.pendown()
t.begin_fill()
t.seth(81)
t.fd(90)
t.seth(100)
t.circle(-500, 3)
t.circle(-100, 10)
t.circle(-200, 25)
t.circle(-110, 20)
t.circle(-140, 30)
t.circle(-180, 30)
t.circle(-200, 20)
t.circle(-140, 10)
t.circle(-160, 50)
t.seth(85)
t.fd(-148)
t.seth(-112)
t.circle(-250, 14)
t.fd(200)
t.right(80)
t.fd(190)
t.seth(110)
t.circle(-200, 7)
t.circle(-130, 30)
t.end_fill()
绘制过程:
6个卡通图案绘制源码(网页打开直接下载):
https://alltodata.cowtransfer.com/s/2b943c8a803e45
注:文中卡通图案绘制参考了部分教程。
二、制作十款经典的童年游戏
下面再分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末。
对了以下游戏皆是小学六年级的代码水平
如有不适,赶快学习
1、小鸟管道
- 使用模块:pygame
- 代码长度:139行
- 行哥评语:强迫症的克星
2.是男人就下100层
- 使用模块:pygame
- 代码长度:185
- 行哥评语:今天在座的都是男孩
3、五子棋
- 使用模块:pygame
- 代码长度:250
- 行哥评语:最快教会女朋友的互动游戏
4.连连看
- 使用模块:pygame
- 代码长度:351
- 行哥评语:网络版的连连看可以用python脚本一秒完成
5.雷电
- 使用模块:pygame
- 代码长度:490
- 行哥评语:在物质匮乏的年代,这个行哥真玩过通
-
6.俄罗斯方块
- 使用模块:pygame
- 代码长度:539
- 行哥评语:被誉为最伟大游戏之一
7.魂斗罗
- 使用模块:pygame
- 代码长度:698行
- 行哥评语:3条命通关你信吗
- 代码来源:https://github.com/Yuu177/Contra_Game
8.我的世界
- 使用模块:pyglet
- 代码长度:902
- 行哥评语:00后的代码游戏
9.坦克大战
- 使用模块:pygame
- 代码长度:1086行
- 行哥评语:最初版塔防游戏
10.超级玛丽
- 使用模块:pygame
- 代码长度:5241行
- 行哥评语:经典游戏没有之一
- 代码来源:https://github.com/TobyfoxpurePython/-python
以上游戏10个有9个都是使用Pygame模块来制作,也就是说简单的了解一下这些单机游戏的原理,学会Pygame的调用函数,将图片、音乐和逻辑组合在一起,你也可以轻松制作一款游戏。这样各种奇葩外挂也随着修改变量来完成,不用再自己找30条命的魂斗罗游戏卡啦,想回忆玩这款游戏可以在之前行哥分享的一篇网站推荐文章--小霸王网站上玩各种童年经典游戏。
唯一的一款3D游戏是我的世界,使用的是pyglet模块,编写的代码量不到1000行,想学习还是很简单。对了现在网易代理的《我的世界》已经提供了开发者模式,小盆友们已经开始调用命令玩这款游戏了哦,B站是更有各路大神python房子造的飞起,有兴趣的可以了解一下。
福利
- 游戏体验网址:https://www.yikm.net/
- 所有游戏源代码:后台回复【六一快乐】即可领取