''' 繪制多啦A夢(mèng) '''
from turtle import *
# 畫布
def my_goto(x,y):
? ? penup()
? ? goto(x,y)
? ? pendown()
def eyes():
? ? tracer(False)
? ? a=2.5
? ? for i in range(120):
? ? ? ? if 0 <=i <30 or 60 <= i <90:
? ? ? ? ? ? a-=0.05
? ? ? ? ? ? lt(3)
? ? ? ? ? ? fd(a)
? ? ? ? else:
? ? ? ? ? ? a+=0.05
? ? ? ? ? ? lt(3)
? ? ? ? ? ? fd(a)
? ? tracer(True)
# 鼻子
def nose():
? ? my_goto(-12.5,150)
? ? fillcolor('#e70010')
? ? begin_fill()
? ? circle(20)
? ? end_fill()
# 嘴巴
def mouth():
? ? my_goto(0,145)
? ? seth(270)
? ? fd(100)
? ? seth(0)
? ? circle(120,50)
? ? seth(230)
? ? circle(-120,100)
# 眼睛
def black_eyes():
? ? seth(0)
? ? my_goto(-20,195)
? ? fillcolor('#000000')
? ? begin_fill()
? ? circle(13)
? ? end_fill()
? ? pensize(3)
? ? my_goto(20,210)
? ? seth(60)
? ? circle(-10,100)
? ? my_goto(-17,200)
? ? seth(0)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? circle(5)
? ? end_fill()
? ? my_goto(0,0)
##圍巾
def scarf():
? ? fillcolor("#e70010")
? ? begin_fill()
? ? seth(0)
? ? fd(200)
? ? circle(-5,90)
? ? fd(10)
? ? circle(-5,90)
? ? fd(207)
? ? circle(-5,90)
? ? fd(10)
? ? circle(-5,90)
? ? end_fill()
##胡須
def beard():
? ? ##? ? 第一根
? ? my_goto(-37,135)
? ? seth(165)
? ? fd(60)
? ? ##? ? 第二根
? ? my_goto(-37,125)
? ? seth(180)
? ? fd(60)
? ? ##? ? 第三根
? ? my_goto(-37,115)
? ? seth(193)
? ? fd(60)
? ? ##? ? 第四根
? ? my_goto(37,135)
? ? seth(15)
? ? fd(60)
? ? ##? ? 第五根
? ? my_goto(37,125)
? ? seth(0)
? ? fd(60)
? ? ##? ? 第六根
? ? my_goto(37,115)
? ? seth(-13)
? ? fd(60)
# 臉
def face():
? ? seth(0)
? ? fd(180)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? lt(45)
? ? circle(120,100)
? ? seth(90)
? ? eyes()
? ? seth(180)
? ? penup()
? ? fd(60)
? ? pendown()
? ? seth(90)
? ? eyes()
? ? penup()
? ? seth(180)
? ? fd(64)
? ? pendown()
? ? seth(215)
? ? circle(120,100)
? ? end_fill()
# 頭部
def head():
? ? penup()
? ? circle(150,40)
? ? pendown()
? ? fillcolor('#00a0de')
? ? begin_fill()
? ? circle(150,280)
? ? end_fill()
# 右手
def righthands():
? ? my_goto(200.8,44.5)
? ? seth(50)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? circle(30)
? ? end_fill()
# 左手
def lefthands():
? ? my_goto(-185,-65)
? ? seth(70)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? circle(-30)
? ? end_fill()
# 腳
def foots():
? ? ##右腳
? ? my_goto(103.74,-182.59)
? ? seth(0)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? fd(15)
? ? circle(-15,180)
? ? fd(90)
? ? circle(-15,180)
? ? seth(0)
? ? fd(5)
? ? end_fill()
? ? ##左腳
? ? my_goto(-96.26,-182.59)
? ? seth(180)
? ? fillcolor('#ffffff')
? ? begin_fill()
? ? fd(15)
? ? circle(15,180)
? ? fd(90)
? ? circle(15,180)
? ? seth(0)
? ? fd(-5)
? ? end_fill()
# 口袋
def pocket():
? ? #? ? 大環(huán)
? ? my_goto(-79,14)
? ? seth(-120)
? ? begin_fill()
? ? circle(90,240)
? ? end_fill()
? ? #? ? 小環(huán)
? ? seth(270)
? ? my_goto(-70,-23)
? ? circle(70,180)
? ? seth(0)
? ? fd(-140)
# 鈴鐺
def smallbell():
? ? my_goto(2,-5)
? ? fillcolor("#ffca0b")
? ? begin_fill()
? ? circle(18)
? ? end_fill()
? ? my_goto(-5,20)
? ? seth(0)
? ? fd(22)
? ? circle(2,180)
? ? seth(-180)
? ? fd(30)
? ? circle(2,180)
? ? my_goto(2,5)
? ? begin_fill()
? ? fillcolor('#000000')
? ? end_fill()
? ? circle(3.5)
? ? seth(90)
? ? fd(-11)
#? 身體
def body():
? ? my_goto(0,0)
? ? seth(0)
? ? penup()
? ? circle(150,50)
? ? pendown()
? ? seth(30)
? ? fd(40)
? ? ##右手臂
? ? seth(70)
? ? circle(-30,270)
? ? fillcolor('#00a0de')
? ? begin_fill()
? ? seth(230)
? ? fd(80)
? ? seth(90)
? ? circle(1000,1)
? ? seth(-89)
? ? circle(-1000,10)
? ? seth(180)
? ? fd(70)
? ? seth(90)
? ? circle(30,180)
? ? seth(180)
? ? fd(70)
? ? # 左手臂
? ? seth(100)
? ? circle(-1000,9)
? ? seth(92.5)
? ? fd(-77)
? ? circle(1000,2)
? ? seth(230)
? ? fd(33)
? ? circle(-30,230)
? ? seth(45)
? ? fd(83)
? ? seth(0)
? ? ##圍巾和右手臂銜接處
? ? fd(200)
? ? circle(4,90)
? ? fd(13)
? ? circle(4,90)
? ? fd(7)
? ? seth(41)
? ? circle(150,10)
? ? seth(30)
? ? fd(40)
? ? end_fill()
def Doraemon():
? ? #頭部
? ? head()
? ? ##圍巾
? ? scarf()
? ? #臉
? ? face()
? ? #紅鼻子
? ? nose()
? ? ##嘴巴
? ? mouth()
? ? ##胡須
? ? beard()
? ? #身體
? ? body()
? ? #右手
? ? righthands()
? ? ##腳
? ? foots()
? ? #左手
? ? lefthands()
? ? ##眼睛
? ? black_eyes()
? ? ##口袋
? ? pocket()
? ? ##鈴鐺
? ? smallbell()
if __name__=="__main__":
? ? screensize(800,600,"#f0f0f0")
? ? pensize(1) #畫筆寬度
? ? speed(9)? #畫筆速度
? ? Doraemon()
? ? my_goto(100,-300)
? ? write('by dongdong',font=("Bradley Hand ITC",30,"bold"))
? ? mainloop()