python哆啦A夢代碼
import turtle
def flyTo(x, y): #開啟無軌跡跳躍
? ? turtle.penup()
? ? turtle.goto(x, y)
? ? turtle.pendown()
def drawEye():? ? #畫眼睛
? ? turtle.tracer(False)
? ? a = 2.5
? ? for i in range(120):
? ? ? ? if 0 <= i < 30 or 60 <= i < 90:
? ? ? ? ? ? a -= 0.05
? ? ? ? else:
? ? ? ? ? ? a += 0.05
? ? ? ? turtle.left(3)
? ? ? ? turtle.fd(a)
? ? turtle.tracer(True)
def beard():? #畫胡子
? ? # 左邊第一根胡子
? ? flyTo(-37, 135)
? ? turtle.seth(165)
? ? turtle.fd(60)
? ? # 左邊第二根胡子
? ? flyTo(-37, 125)
? ? turtle.seth(180)
? ? turtle.fd(60)
? ? # 左邊第三根胡子
? ? flyTo(-37, 115)
? ? turtle.seth(193)
? ? turtle.fd(60)
? ? # 右邊第一根胡子
? ? flyTo(37, 135)
? ? turtle.seth(15)
? ? turtle.fd(60)
? ? # 右邊第二根胡子
? ? flyTo(37, 125)
? ? turtle.seth(0)
? ? turtle.fd(60)
? ? # 右邊第三根胡子
? ? flyTo(37, 115)
? ? turtle.seth(-13)
? ? turtle.fd(60)
def drawRedScarf():
? ? turtle.fillcolor("red")? ? ?# 填充顏色
? ? turtle.begin_fill()
? ? turtle.seth(0)? ? ? ? ? ? ? # 調(diào)整轉(zhuǎn)向向右
? ? turtle.fd(200)
? ? turtle.circle(-5, 90)
? ? turtle.fd(10)
? ? turtle.circle(-5, 90)
? ? turtle.fd(207)
? ? turtle.circle(-5, 90)
? ? turtle.fd(10)
? ? turtle.circle(-5, 90)
? ? turtle.end_fill()
def drawMouse():
? ? flyTo(5, 148)
? ? turtle.seth(270)
? ? turtle.fd(100)
? ? turtle.seth(0)
? ? turtle.circle(120, 50)
? ? turtle.seth(230)
? ? turtle.circle(-120, 100)
def drawRedNose():
? ? flyTo(-10, 158)
? ? turtle.fillcolor("red")? ? ? ? ?# 填充顏色
? ? turtle.begin_fill()
? ? turtle.circle(20)
? ? turtle.end_fill()
def drawBlackdrawEye():
? ? turtle.seth(0)
? ? flyTo(-20, 195)
? ? turtle.fillcolor("#000000")? ? ?# 填充顏色
? ? turtle.begin_fill()
? ? turtle.circle(13)
? ? turtle.end_fill()
? ? turtle.pensize(6)
? ? flyTo(20, 205)
? ? turtle.seth(75)
? ? turtle.circle(-10, 150)
? ? turtle.pensize(3)
? ? flyTo(-17, 200)
? ? turtle.seth(0)
? ? turtle.fillcolor("#ffffff")
? ? turtle.begin_fill()
? ? turtle.circle(5)
? ? turtle.end_fill()
? ? flyTo(0, 0)
def drawFace():
? ? turtle.forward(183)? ? ? ? ?# 前行183個單位
? ? turtle.fillcolor("white")? ?# 填充顏色為白色
? ? turtle.begin_fill()? ? ? ? ?# 開始填充
? ? turtle.left(45)? ? ? ? ? ? ?# 左轉(zhuǎn)45度
? ? turtle.circle(120, 100)? ? ?# 右邊那半邊臉
? ? turtle.seth(90)? ? ? ? ? ? ?# 調(diào)整轉(zhuǎn)向向上
? ? drawEye()? ? ? ? ? ? ? ? ? ?# 畫右眼睛
? ? turtle.seth(180)? ? ? ? ? ? # 調(diào)整轉(zhuǎn)向向左
? ? turtle.penup()? ? ? ? ? ? ? # 抬筆
? ? turtle.fd(60)? ? ? ? ? ? ? ?# 前行60
? ? turtle.pendown()? ? ? ? ? ? # 落筆
? ? turtle.seth(90)? ? ? ? ? ? ?# 調(diào)整轉(zhuǎn)向向上
? ? drawEye()? ? ? ? ? ? ? ? ? ?# 畫左眼睛
? ? turtle.penup()? ? ? ? ? ? ? # 抬筆
? ? turtle.seth(180)? ? ? ? ? ? # 調(diào)整轉(zhuǎn)向向左
? ? turtle.fd(64)? ? ? ? ? ? ? ?# 前進(jìn)64
? ? turtle.pendown()? ? ? ? ? ? # 落筆
? ? turtle.seth(215)? ? ? ? ? ? # 修改朝向
? ? turtle.circle(120, 100)? ? ?# 左邊那半邊臉
? ? turtle.end_fill() #
def drawHead():
? ? turtle.penup()? ? ? ? ? ? ? # 抬筆
? ? turtle.circle(150, 40)? ? ? # 畫圓, 半徑150,圓周角40
? ? turtle.pendown() # 落筆
? ? turtle.fillcolor("#00a0de") # 填充色
? ? turtle.begin_fill()? ? ? ? ?# 開始填充
? ? turtle.circle(150, 280)? ? ?# 畫圓,半徑150, 圓周角280
? ? turtle.end_fill()
def drawAll():
? ? drawHead()
? ? drawRedScarf()
? ? drawFace()
? ? drawRedNose()
? ? drawMouse()
? ? beard()
? ? flyTo(0, 0)
? ? turtle.seth(0)
? ? turtle.penup()
? ? turtle.circle(150, 50)
? ? turtle.pendown()
? ? turtle.seth(30)
? ? turtle.fd(40)
? ? turtle.seth(70)
? ? turtle.circle(-30, 270)
? ? turtle.fillcolor("#00a0de")
? ? turtle.begin_fill()
? ? turtle.seth(230)
? ? turtle.fd(80)
? ? turtle.seth(90)
? ? turtle.circle(1000, 1)
? ? turtle.seth(-89)
? ? turtle.circle(-1000, 10)
? ? turtle.seth(180)
? ? turtle.fd(70)
? ? turtle.seth(90)
? ? turtle.circle(30, 180)
? ? turtle.seth(180)
? ? turtle.fd(70)
? ? turtle.seth(100)
? ? turtle.circle(-1000, 9)
? ? turtle.seth(-86)
? ? turtle.circle(1000, 2)
? ? turtle.seth(230)
? ? turtle.fd(40)
? ? turtle.circle(-30, 230)
? ? turtle.seth(45)
? ? turtle.fd(81)
? ? turtle.seth(0)
? ? turtle.fd(203)
? ? turtle.circle(5, 90)
? ? turtle.fd(10)
? ? turtle.circle(5, 90)
? ? turtle.fd(7)
? ? turtle.seth(40)
? ? turtle.circle(150, 10)
? ? turtle.seth(30)
? ? turtle.fd(40)
? ? turtle.end_fill()
? ? # 左手
? ? turtle.seth(70)
? ? turtle.fillcolor("#FFFFFF")
? ? turtle.begin_fill()
? ? turtle.circle(-30)
? ? turtle.end_fill()
? ? # 腳
? ? flyTo(103.74, -182.59)
? ? turtle.seth(0)
? ? turtle.fillcolor("#FFFFFF")
? ? turtle.begin_fill()
? ? turtle.fd(15)
? ? turtle.circle(-15, 180)
? ? turtle.fd(90)
? ? turtle.circle(-15, 180)
? ? turtle.fd(10)
? ? turtle.end_fill()
? ? flyTo(-96.26, -182.59)
? ? turtle.seth(180)
? ? turtle.fillcolor("#FFFFFF")
? ? turtle.begin_fill()
? ? turtle.fd(15)
? ? turtle.circle(15, 180)
? ? turtle.fd(90)
? ? turtle.circle(15, 180)
? ? turtle.fd(10)
? ? turtle.end_fill()
? ? # 右手
? ? flyTo(-133.97, -91.81)
? ? turtle.seth(50)
? ? turtle.fillcolor("#FFFFFF")
? ? turtle.begin_fill()
? ? turtle.circle(30)
? ? turtle.end_fill()
? ? # 口袋
? ? flyTo(-103.42, 15.09)
? ? turtle.seth(0)
? ? turtle.fd(38)
? ? turtle.seth(230)
? ? turtle.begin_fill()
? ? turtle.circle(90, 260)
? ? turtle.end_fill()
? ? flyTo(5, -40)
? ? turtle.seth(0)
? ? turtle.fd(70)
? ? turtle.seth(-90)
? ? turtle.circle(-70, 180)
? ? turtle.seth(0)
? ? turtle.fd(70)
? ? # 鈴鐺
? ? flyTo(-103.42, 15.09)
? ? turtle.fd(90)
? ? turtle.seth(70)
? ? turtle.fillcolor("#ffd200")
? ? turtle.begin_fill()
? ? turtle.circle(-20)
? ? turtle.end_fill()
? ? turtle.seth(170)
? ? turtle.fillcolor("#ffd200")
? ? turtle.begin_fill()
? ? turtle.circle(-2, 180)
? ? turtle.seth(10)
? ? turtle.circle(-100, 22)
? ? turtle.circle(-2, 180)
? ? turtle.seth(180 - 10)
? ? turtle.circle(100, 22)
? ? turtle.end_fill()
? ? flyTo(-13.42, 15.09)
? ? turtle.seth(250)
? ? turtle.circle(20, 110)
? ? turtle.seth(90)
? ? turtle.fd(15)
? ? turtle.dot(10)
? ? flyTo(0, -150)
? ? drawBlackdrawEye()
def main():
? ? turtle.screensize(800, 6000, "#F0F0F0")
? ? turtle.pensize(3)
? ? turtle.speed(9)
? ? drawAll()
? ? turtle.penup()
? ? turtle.goto(100, -300)
? ? #turtle.color("violet")
? ? turtle.write('哆啦A夢', font=("Bradley Hand ITC", 30, "bold"))
if __name__ == "__main__":
? ? main()
turtle.mainloop()