from turtle import *
#画布
screensize(400,300,'grey')#设置画布大小及颜色
setup()#设置画布出现位置;数字为整数时,表示像素;为小数时,表示占据电脑屏幕的比例。
#标题
title('乔巴')
#画笔
#画笔:初始位置为画布中心,以画布中心为原点建立坐标系,以x轴为正方向
pensize(2) #设置画笔的宽度尺寸
pencolor('black')#画笔颜色
speed(10)#画笔移动速度(0-10)(0最快)
# showturtle()#显示画笔形状
hideturtle()#隐藏画笔形状
#可以自定义函数方便填涂固定大小的图案
#例:
# def hs(x,y):
# begin_fill()
# fillcolor('black')
# goto(x,y)
# circle(5,360)
# end_fill()
#
# penup()
# hs(10,100)
# hs(50,100)
# hs(90,100)
# hs(140,100)
#帽子
#第一笔
penup()#提笔
goto(-100,40)#落笔处
setheading(29)#画笔成30度(以x轴正方向开角度)
pendown()#落笔
circle(-204,58)#画弧线(-号代表顺时针绘图,第一位数为半径,圆心角对应弧长)
#第二笔
penup()
goto(-200,20)
setheading(42)
pendown()
circle(-300,84)
#第三笔
penup()
goto(-200,60)
setheading(42)
pendown()
circle(-300,84)
#第四笔
penup()
goto(-200,60)
setheading(-90)
pendown()
forward(40) #画直线(沿着笔的方向前行)
#第五笔
penup()
goto(200,60)
setheading(-90)
pendown()
forward(40)
#第六笔
penup()
goto(-150,200)
setheading(-90)
pendown()
forward(102)
#第七笔
penup()
goto(150,200)
setheading(-90)
pendown()
forward(102)
#第八笔
penup()
goto(-150,200)
setheading(52)
pendown()
circle(-190,104)
#左侧下帽檐
penup()
goto(-200,20)
setheading(-70)
pendown()
circle(100,85)
#右侧下帽檐
penup()
goto(198,20)
setheading(250)
pendown()
circle(-100,85)
#脸
#下巴
penup()
goto(-100,40)
setheading(-100)
pendown()
circle(100,200)
#鼻子
setheading(-90)
penup()
goto(-8.5,-10)
begin_fill() #准备开始对以下绘制图案进行填充
fillcolor('black') #绘制图案的填充颜色
#color(线条颜色,填充颜色) #可以直接用这个函数设定线条及填充颜色
pendown()
a = 0.05
for i in range(120):
if 0<=i<30 or 60<=i<90:
a=a+0.02
lt(3) #每向左转3度
fd(a) #向前走a的长度
else:
a=a-0.02
lt(3)
fd(a)
end_fill() #颜色填充完成
#鼻沟
penup()
goto(0,-10)
setheading(-90)
pendown()
forward(20)
#左半嘴
penup()
goto(0,-30)
setheading(-120)
pendown()
circle(-15,100)
#右半嘴
penup()
goto(0,-30)
setheading(-60)
pendown()
circle(15,100)
#眼睛
#左眼
#眼珠
penup()
begin_fill()
goto(-50,25)
setheading(0)
pendown()
fillcolor('black')
circle(-15,360)
end_fill()
#眼白
penup()
goto(-50,32)
setheading(0)
pendown()
circle(-22,360)
#右眼
#眼珠
penup()
begin_fill()
goto(50,25)
setheading(0)
pendown()
fillcolor('black')
circle(-15,360)
end_fill()
#眼白
penup()
goto(50,32)
setheading(0)
pendown()
circle(-22,360)
#眉毛
#左
penup()
goto(-40,40)
setheading(-30)
pendown()
forward(20)
#右
penup()
goto(40,40)
setheading(-150)
pendown()
forward(20)
#鹿角
#左
penup()
goto(-150,190)
setheading(-160)
pendown()
circle(80,10)
penup()
goto(-163,183)
setheading(-90)
pendown()
circle(180,21)
penup()
goto(-163,183)
setheading(120)
pendown()
circle(10,130)
penup()
goto(-181,180)
setheading(-90)
pendown()
circle(180,23)
penup()
goto(-181,180)
setheading(120)
pendown()
circle(20,130)
penup()
goto(-217,176)
setheading(-90)
pendown()
circle(95,53)
#右
penup()
goto(150,190)
setheading(-20)
pendown()
circle(-80,10)
penup()
goto(163,183)
setheading(-90)
pendown()
circle(-180,21)
penup()
goto(163,183)
setheading(60)
pendown()
circle(-10,130)
penup()
goto(181,180)
setheading(-90)
pendown()
circle(-180,23)
penup()
goto(181,180)
setheading(60)
pendown()
circle(-20,130)
penup()
goto(217,176)
setheading(-90)
pendown()
circle(-95,53)
#耳朵
#左耳
penup()
goto(-150,110)
setheading(-195)
pendown()
circle(40,45)
penup()
goto(-180,105)
setheading(270)
pendown()
circle(20,70)
penup()
goto(-180,105)
setheading(-15)
pendown()
circle(-30,50)
#右耳
penup()
goto(150,110)
setheading(15)
pendown()
circle(-40,45)
penup()
goto(180,105)
setheading(-90)
pendown()
circle(-20,70)
penup()
goto(180,105)
setheading(-165)
pendown()
circle(30,50)
#身体
#左侧
penup()
goto(-48,-73)
setheading(-115)
pendown()
circle(200,30)
penup()
goto(-66,-176)
setheading(-75)
pendown()
circle(50,80)
penup()
goto(-13,-213)
setheading(70)
pendown()
circle(20,30)
#右侧
penup()
goto(48,-73)
setheading(-65)
pendown()
circle(-200,30)
penup()
goto(66,-176)
setheading(-105)
pendown()
circle(-50,80)
penup()
goto(13,-213)
setheading(110)
pendown()
circle(-20,30)
#肚子
penup()
goto(-30,-200)
setheading(-20)
pendown()
circle(80,42)
#左手
penup()
goto(-50,-65)
setheading(-135)
pendown()
circle(200,20)
penup()
goto(-90,-123)
setheading(-90)
pendown()
circle(40,40)
penup()
goto(-70,-110)
setheading(-70)
pendown()
circle(30,25)
penup()
goto(-83,-145)
setheading(-170)
pendown()
circle(15,76)
penup()
goto(-96,-160)
setheading(-35)
pendown()
circle(30,60)
#右手
penup()
goto(50,-65)
setheading(-45)
pendown()
forward(40)
penup()
goto(53,-85)
setheading(-45)
pendown()
forward(35)
penup()
goto(90,-80)
setheading(-150)
pendown()
circle(28,290)
penup()
goto(90,-80)
setheading(-60)
pendown()
forward(28)
penup()
goto(104,-105)
setheading(51)
pendown()
forward(30)
done()
11-22
149