用Python绘制哆啦A梦、海绵宝宝、皮卡丘和史迪仔,附源码教程

一、哆啦A梦

由于代码过长,这里仅显示部分代码:

from turtle import \*
import turtle as t
from random import \*

#五轨迹跳跃
def my\_goto(x,y):
    penup()
    goto(x,y)
    pendown()

def eyes():
    fillcolor('#ffffff')
    begin\_fill()

    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)
    end\_fill()

#胡须
def beard():
    my\_goto(\-32,135)
    seth(165)
    fd(60)

    my\_goto(\-32,125)
    seth(180)
    fd(60)

    my\_goto(\-32,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 mouth():
    my\_goto(5,148)
    seth(270)
    fd(100)
    seth(0)
    circle(120,50)
    seth(230)
    circle(\-120,100)

二、海绵宝宝

部分代码如下:

from turtle import \*

def go\_to(x, y):
    penup()
    goto(x, y)
    pendown()

def help\_do():
    go\_to(\-400, 0)
    forward(800)
    go\_to(\-400, 100)
    forward(800)
    go\_to(\-400,200)
    forward(800)
    go\_to(\-400, -100)
    forward(800)
    go\_to(\-400, -200)
    forward(800)
    left(90)
    go\_to(0,\-300)
    forward(600)
    go\_to(100, -300)
    forward(600)
    go\_to(\-100, -300)
    forward(600)
    go\_to(\-200, -300)
    forward(600)
    go\_to(200, -300)
    forward(600)

def head():
    go\_to(\-200, 180)
    fillcolor('yellow')
    begin\_fill()
    seth(\-30)
    for \_ in range(6):
        circle(36, 60)
        circle(\-36, 60)
    seth(\-125)
    for \_ in range(5):
        circle(40,60)
        circle(\-40,60)
    seth(\-210)
    for \_ in range(4):
        circle(45,60)
        circle(\-45,60)
    seth(65)
    for \_ in range(5):
        circle(40,60)
        circle(\-40,60)
    end\_fill()

三、皮卡丘

部分代码如下:

import turtle

def getPosition(x, y):
    turtle.setx(x)
    turtle.sety(y)
    print(x, y)

class Pikachu:

    def \_\_init\_\_(self):
        self.t \= turtle.Turtle()
        t \= self.t
        t.pensize(3)
        t.speed(9)
        t.ondrag(getPosition)

    def noTrace\_goto(self, x, y):
        self.t.penup()
        self.t.goto(x, y)
        self.t.pendown()

    def leftEye(self, x, y):
        self.noTrace\_goto(x, y)
        t \= self.t
        t.seth(0)
        t.fillcolor('#333333')
        t.begin\_fill()
        t.circle(22)
        t.end\_fill()

        self.noTrace\_goto(x, y \+ 10)
        t.fillcolor('#000000')
        t.begin\_fill()
        t.circle(10)
        t.end\_fill()

        self.noTrace\_goto(x \+ 6, y + 22)
        t.fillcolor('#ffffff')
        t.begin\_fill()
        t.circle(10)
        t.end\_fill()

    def rightEye(self, x, y):
        self.noTrace\_goto(x, y)
        t \= self.t
        t.seth(0)
        t.fillcolor('#333333')
        t.begin\_fill()
        t.circle(22)
        t.end\_fill()

        self.noTrace\_goto(x, y \+ 10)
        t.fillcolor('#000000')
        t.begin\_fill()
        t.circle(10)
        t.end\_fill()

        self.noTrace\_goto(x \- 6, y + 22)
        t.fillcolor('#ffffff')
        t.begin\_fill()
        t.circle(10)
        t.end\_fill()

四、史迪仔

部分代码如下:

from turtle import \*

setup(650,650)
penup()
pensize(5)
speed(1000)
pencolor("#065693")
seth(180)
fd(140)
seth(\-90)
fd(50)
pendown()      #起点
fillcolor("#0079C6")
begin\_fill()
seth(170)
circle(\-40,100)
seth(180)
fd(50)
seth(180)
circle(\-10,46)
seth(130)
circle(\-300,40)#耳朵外廓大圆
circle(-100,45)
right(10)
circle(\-50,30)
right(10)
circle(\-30,30)
left(1)
fd(2)
right(1)
fd(3)
right(4)
fd(3)
right(3)
fd(5)
right(4)
fd(6)
right(4)
fd(10)
right(4)
fd(10)
right(3)
fd(15)
right(2)
fd(20)
right(2)
fd(20)
right(4)
fd(20)
right(3)
fd(30)
right(1)
fd(40)
right(1)
fd(60)
seth(\-115)
fd(5)    #脸左侧开始逆时针
circle(200,30)
end\_fill()
begin\_fill()
left(8)
fd(20)
left(10)
fd(20)
left(14)
circle(100,30)
left(10)
circle(150,20)
right(2)
fd(55)
left(5)
fd(40)
left(3)
fd(25)
right(3)
circle(150,20)
left(7)
circle(100,30)

—— —— —— —— — END —— —— —— —— ————

物联沃分享整理
物联沃-IOTWORD物联网 » 用Python绘制哆啦A梦、海绵宝宝、皮卡丘和史迪仔,附源码教程

发表评论