用户:
多语言查看:0 回复:0 评论:0 创建时间:2021-04-26T20:03:55
# import turtle
# __Pen=turtle.Turtle()
# for i in range(7):
# __Pen.circle(90)
# __Pen.left(50)
import turtle
t = turtle.Pen()
t.hideturtle()
t.speed(0)
def head(color=None):
is_wounded = False
if not color:
color = "yellow"
is_wounded = True
t.penup()
t.goto(0, -100)
t.pendown()
t.begin_fill()
t.color(color)
t.circle(100)
t.end_fill()
if is_wounded:
# 伤痕
t.penup()
t.goto(-60, -50)
t.setheading(45)
t.pensize(8)
t.pencolor("gray")
t.pendown()
t.forward(20)
t.penup()
t.goto(-40, -50)
t.pendown()
t.forward(16)
def face(eye=("open", "orange"), nose="blue", mouth="red"):
# 设置画眼睛
t.pencolor(eye[1])
t.pensize(5)
def draw_eye(eye):
if eye[0] == "down":
# 左眼睛
t.penup()
t.goto(-55, 25)
t.pendown()
t.setheading(-70)
t.circle(20, 140)
# 右眼睛
t.penup()
t.goto(55, 25)
t.pendown()
t.setheading(-110)
t.circle(-20, 140)
elif eye[0] == "open":
# 左眼睛
t.penup()
t.goto(-55, 25)
t.pendown()
t.setheading(-70)
t.dot(16)
# 右眼睛
t.penup()
t.goto(55, 25)
t.pendown()
t.setheading(-110)
t.dot(16)
else:
# 左眼睛
t.penup()
t.goto(-55, 15)
t.pendown()
t.setheading(70)
t.circle(-20, 140)
# 右眼睛
t.penup()
t.goto(55, 15)
t.pendown()
t.setheading(110)
t.circle(20, 140)
def draw_nose(nose):
t.penup()
t.goto(-15, -10)
t.pensize(1)
t.color(nose)
t.setheading(-90)
t.pendown()
t.begin_fill()
t.circle(15, 180)
for i in range(10):
t.forward(3)
t.left(7)
t.left(20)
t.backward(2)
t.left(20)
for i in range(10):
t.forward(3)
t.left(7)
t.end_fill()
def draw_mouth(mouth):
# 嘴巴(外)
t.penup()
t.goto(12, -10)
t.setheading(120)
t.color(mouth)
t.begin_fill()
t.circle(14, 120)
t.setheading(-60)
t.circle(14, 120)
t.end_fill()
draw_eye(eye)
draw_nose(nose)
draw_mouth(mouth)
def hands(color="yellow"):
# 左手
t.pensize(1)
t.penup()
t.goto(-100, 0)
t.setheading(190)
t.pendown()
t.color(color)
t.begin_fill()
for i in range(7):
t.forward(9)
t.left(6)
for i in range(19):
t.forward(1)
t.left(6)
for i in range(7):
t.forward(9)
t.left(5)
t.end_fill()
# 右手
t.penup()
t.goto(100, 0)
t.setheading(-10)
t.pendown()
t.fillcolor(color)
t.begin_fill()
for i in range(7):
t.forward(9)
t.right(6)
for i in range(19):
t.forward(1)
t.right(6)
for i in range(7):
t.forward(9)
t.right(5)
t.end_fill()
# 引擎
def engines(size=10,color1='black',color2='yellow'):
def engine(x, y):
t.pensize(1)
t.setheading(0)
# 外圆位置
t.penup()
t.goto(x, y)
t.pendown()
# 画外圆
t.color(color1, color2)
t.begin_fill()
t.circle(-size)
t.end_fill()
# 内圆位置
t.penup()
t.goto(x, y - 4)
t.pendown()
# 画内圆
t.setheading(0)
t.color(color1, color2)
t.begin_fill()
t.circle(-size + 4)
t.end_fill()
# 左引擎
engine(-100, -40)
engine(-130, -40)
# 右引擎
engine(100, -40)
engine(130, -40)
def seat(first_color="brown",second_color='deepskyblue'):
# 护栏
t.penup()
t.goto(50, 96)
t.color(second_color)
t.pensize(1)
t.pendown()
t.begin_fill()
t.setheading(90)
t.circle(10, 90)
t.forward(10)
t.setheading(90)
t.forward(10)
t.circle(5, 90)
t.forward(50)
t.circle(5, 90)
t.forward(10)
t.setheading(180)
t.forward(10)
t.circle(10, 90)
t.setheading(0)
t.forward(100)
t.end_fill()
# 坐椅
t.penup()
t.goto(20, 122)
t.color(first_color)
t.setheading(90)
t.pendown()
t.begin_fill()
t.forward(15)
t.circle(5, 90)
t.forward(30)
t.circle(5, 90)
t.forward(15)
t.end_fill()
def glasses(color="skyblue"):
# 左镜框
t.penup()
t.goto(20, 50)
t.pencolor("brown")
t.pensize(10)
t.setheading(0)
t.pendown()
t.fillcolor(color)
t.begin_fill()
for i in range(2):
t.forward(60)
t.circle(8, 90)
t.forward(30)
t.circle(8, 90)
t.end_fill()
# 右镜框
t.penup()
t.goto(-20, 50)
t.setheading(180)
t.pendown()
t.begin_fill()
for i in range(2):
t.forward(60)
t.circle(-8, 90)
t.forward(30)
t.circle(-8, 90)
t.end_fill()
# 眼镜连接
t.penup()
t.goto(-6, 70)
t.setheading(0)
t.pensize(20)
t.pendown()
t.forward(13)
# 左镜片光泽
t.penup()
t.goto(50, 65)
t.setheading(45)
t.pensize(8)
t.pencolor("white")
t.pendown()
t.forward(25)
t.penup()
t.goto(70, 65)
t.pendown()
t.forward(12)
# 右镜片光泽
t.penup()
t.goto(-50, 65)
t.setheading(45)
t.pensize(8)
t.pencolor("white")
t.pendown()
t.forward(25)
t.penup()
t.goto(-30, 65)
t.pendown()
t.forward(12)
head("green")
face()
hands("green")
seat("green","green")
engines(15,"green","green")
glasses("green")