微信公众号:Python 集中营
简略的事件反复做,反复的事件保持做,保持的事件用心做;
你的必定是我保持的能源,如果这篇文章对你有帮忙,点个关注吧!
定义全局属性
1# 导入turtle绘图库 2 3import turtle as tle 4 5class peppa_turtle: 6 7 # 初始化全局属性 8 9 def __init__(self):1011 self.tle = tle1213 # #全局画笔属性设置1415 # 设置画笔的大小1617 self.tle.pensize(4)1819 # 设置GBK色彩范畴为0-2552021 self.tle.colormode(255)2223 # 设置画笔色彩和填充色彩2425 self.tle.color((255, 155, 192), "pink")2627 # 设置主窗口的大小为800*5002829 self.tle.setup(800, 600)3031 # 设置画笔速度为13233 self.tle.speed(1)
定义鼻子绘制函数
1# 绘制小猪佩奇的鼻子 2 3 def draw_nose(self): 4 5 # 提笔 6 7 self.tle.pu() 8 9 # 画笔返回坐标(-100,100) 10 11 self.tle.goto(-100, 100) 12 13 # 下笔 14 15 self.tle.pd() 16 17 # 笔的角度为-30° 18 19 self.tle.seth(-30) 20 21 # 形状填充的开始标记 22 23 self.tle.begin_fill() 24 25 a = 0.4 26 27 for i in range(120): 28 29 if 0 <= i < 30 or 60 <= i < 90: 30 31 a = a + 0.08 32 33 # 向左转3度 34 35 self.tle.lt(3) 36 37 # 向前走a的步长 38 39 self.tle.fd(a) 40 41 else: 42 43 a = a - 0.08 44 45 self.tle.lt(3) 46 47 self.tle.fd(a) 48 49 # 根据轮廓填充 50 51 self.tle.end_fill() 52 53 # 提笔 54 55 self.tle.pu() 56 57 # 笔的角度为90度 58 59 self.tle.seth(90) 60 61 # 向前挪动25 62 63 self.tle.fd(25) 64 65 # 转换画笔的角度为0 66 67 self.tle.seth(0) 68 69 self.tle.fd(10) 70 71 self.tle.pd() 72 73 # 设置画笔色彩 74 75 self.tle.pencolor(255, 155, 192) 76 77 self.tle.seth(10) 78 79 self.tle.begin_fill() 80 81 # 画一个半径为5的圆 82 83 self.tle.circle(5) 84 85 # 设置画笔和填充色彩 86 87 self.tle.color(160, 82, 45) 88 89 self.tle.end_fill() 90 91 self.tle.pu() 92 93 self.tle.seth(0) 94 95 self.tle.fd(20) 96 97 self.tle.pd() 98 99 self.tle.pencolor(255, 155, 192)100101 self.tle.seth(10)102103 self.tle.begin_fill()104105 self.tle.circle(5)106107 self.tle.color(160, 82, 45)108109 self.tle.end_fill()
定义头部绘制函数
1# 绘制小猪佩奇的头 2 3 def draw_head(self): 4 5 self.tle.color((255, 155, 192), "pink") 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(41)1213 self.tle.seth(0)1415 self.tle.fd(0)1617 self.tle.pd()1819 self.tle.begin_fill()2021 self.tle.seth(180)2223 # 顺时针画一个半径为300,圆心角为30°的园2425 self.tle.circle(300, -30)2627 self.tle.circle(100, -60)2829 self.tle.circle(80, -100)3031 self.tle.circle(150, -20)3233 self.tle.circle(60, -95)3435 self.tle.seth(161)3637 self.tle.circle(-300, 15)3839 self.tle.pu()4041 self.tle.goto(-100, 100)4243 self.tle.pd()4445 self.tle.seth(-30)4647 a = 0.44849 for i in range(60):5051 if 0 <= i < 30 or 60 <= i < 90:5253 a = a + 0.085455 # 向左转3度5657 self.tle.lt(3)5859 # 向前走a的步长6061 self.tle.fd(a)6263 else:6465 a = a - 0.086667 self.tle.lt(3)6869 self.tle.fd(a)7071 self.tle.end_fill()
定义耳朵绘制函数
1# 绘制小猪佩奇的耳朵 2 3 def draw_ear(self): 4 5 self.tle.color((255, 155, 192), "pink") 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(-7)1213 self.tle.seth(0)1415 self.tle.fd(70)1617 self.tle.pd()1819 self.tle.begin_fill()2021 self.tle.seth(100)2223 self.tle.circle(-50, 50)2425 self.tle.circle(-10, 120)2627 self.tle.circle(-50, 54)2829 self.tle.end_fill()3031 self.tle.pu()3233 self.tle.seth(90)3435 self.tle.fd(-12)3637 self.tle.seth(0)3839 self.tle.fd(30)4041 self.tle.pd()4243 self.tle.begin_fill()4445 self.tle.seth(100)4647 self.tle.circle(-50, 50)4849 self.tle.circle(-10, 120)5051 self.tle.circle(-50, 56)5253 self.tle.end_fill()定义眼睛绘制函数 1# 绘制小猪佩奇的眼睛 2 3 def draw_eye(self): 4 5 self.tle.color((255, 155, 192), "white") 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(-20)1213 self.tle.seth(0)1415 self.tle.fd(-95)1617 self.tle.pd()1819 self.tle.begin_fill()2021 self.tle.circle(15)2223 self.tle.end_fill()2425 self.tle.color("black")2627 self.tle.pu()2829 self.tle.seth(90)3031 self.tle.fd(12)3233 self.tle.seth(0)3435 self.tle.fd(-3)3637 self.tle.pd()3839 self.tle.begin_fill()4041 self.tle.circle(3)4243 self.tle.end_fill()4445 self.tle.color((255, 155, 192), "white")4647 self.tle.pu()4849 self.tle.seth(90)5051 self.tle.fd(-25)5253 self.tle.seth(0)5455 self.tle.fd(40)5657 self.tle.pd()5859 self.tle.begin_fill()6061 self.tle.circle(15)6263 self.tle.end_fill()6465 self.tle.color("black")6667 self.tle.pu()6869 self.tle.seth(90)7071 self.tle.fd(12)7273 self.tle.seth(0)7475 self.tle.fd(-3)7677 self.tle.pd()7879 self.tle.begin_fill()8081 self.tle.circle(3)8283 self.tle.end_fill()
定义腮绘制函数
1# 绘制小猪佩奇的腮 2 3 def draw_cheek(self): 4 5 self.tle.color((255, 155, 192)) 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(-95)1213 self.tle.seth(0)1415 self.tle.fd(65)1617 self.tle.pd()1819 self.tle.begin_fill()2021 self.tle.circle(30)2223 self.tle.end_fill()
定义嘴巴绘制函数
1# 绘制小猪佩奇的嘴 2 3 def draw_mouth(self): 4 5 self.tle.color(239, 69, 19) 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(15)1213 self.tle.seth(0)1415 self.tle.fd(-100)1617 self.tle.pd()1819 self.tle.seth(-80)2021 self.tle.circle(30, 40)2223 self.tle.circle(40, 80)
定义身材绘制函数
1# 绘制小猪佩奇的身材 2 3 def draw_body(self): 4 5 self.tle.color("red", (255, 99, 71)) 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(-20)1213 self.tle.seth(0)1415 self.tle.fd(-78)1617 self.tle.pd()1819 self.tle.begin_fill()2021 self.tle.seth(-130)2223 self.tle.circle(100, 10)2425 self.tle.circle(300, 30)2627 self.tle.seth(0)2829 self.tle.fd(230)3031 self.tle.seth(90)3233 self.tle.circle(300, 30)3435 self.tle.circle(100, 3)3637 self.tle.color((255, 155, 192), (255, 100, 100))3839 self.tle.seth(-135)4041 self.tle.circle(-80, 63)4243 self.tle.circle(-150, 24)4445 self.tle.end_fill()
定义手绘制函数
1# 绘制小猪佩奇的手 2 3 def draw_hand(self): 4 5 self.tle.color((255, 155, 192)) 6 7 self.tle.pu() 8 9 self.tle.seth(90)1011 self.tle.fd(-40)1213 self.tle.seth(0)1415 self.tle.fd(-27)1617 self.tle.pd()1819 self.tle.seth(-160)2021 self.tle.circle(300, 15)2223 self.tle.pu()2425 self.tle.seth(90)2627 self.tle.fd(15)2829 self.tle.seth(0)3031 self.tle.fd(0)3233 self.tle.pd()3435 self.tle.seth(-10)3637 self.tle.circle(-20, 90)3839 self.tle.pu()4041 self.tle.seth(90)4243 self.tle.fd(30)4445 self.tle.seth(0)4647 self.tle.fd(237)4849 self.tle.pd()5051 self.tle.seth(-20)5253 self.tle.circle(-300, 15)5455 self.tle.pu()5657 self.tle.seth(90)5859 self.tle.fd(20)6061 self.tle.seth(0)6263 self.tle.fd(0)6465 self.tle.pd()6667 self.tle.seth(-170)6869 self.tle.circle(20, 90)
定义脚绘制函数
1# 绘制小猪佩奇的脚 2 3 def draw_foot(self): 4 5 self.tle.pensize(10) 6 7 self.tle.color((240, 128, 128)) 8 9 self.tle.pu()1011 self.tle.seth(90)1213 self.tle.fd(-75)1415 self.tle.seth(0)1617 self.tle.fd(-180)1819 self.tle.pd()2021 self.tle.seth(-90)2223 self.tle.fd(40)2425 self.tle.seth(-180)2627 self.tle.color("black")2829 self.tle.pensize(15)3031 self.tle.fd(20)3233 self.tle.pensize(10)3435 self.tle.color((240, 128, 128))3637 self.tle.pu()3839 self.tle.seth(90)4041 self.tle.fd(40)4243 self.tle.seth(0)4445 self.tle.fd(90)4647 self.tle.pd()4849 self.tle.seth(-90)5051 self.tle.fd(40)5253 self.tle.seth(-180)5455 self.tle.color("black")5657 self.tle.pensize(15)5859 self.tle.fd(20)
定义尾巴绘制函数
1# 绘制小猪佩奇的尾巴 2 3 def draw_tail(self): 4 5 self.tle.pensize(4) 6 7 self.tle.color((255, 155, 192)) 8 9 self.tle.pu()1011 self.tle.seth(90)1213 self.tle.fd(70)1415 self.tle.seth(0)1617 self.tle.fd(95)1819 self.tle.pd()2021 self.tle.seth(0)2223 self.tle.circle(70, 20)2425 self.tle.circle(10, 330)2627 self.tle.circle(70, 30)
定义手动完结函数
1# 手动完结绘制2 def exec_end(self):3 while True:4 # 手动完结程序运行5 str = input("输出exit()完结:")6 if 'exit()' == str:7 print('绘制结束')8 break
更多精彩返回微信公众号【Python 集中营】,专一于 python 技术栈,材料获取、交换社区、干货分享,期待你的退出~