由于代码过长,这里仅显示部分代码:
fromturtleimport*importturtleastfromrandomimport*#五轨迹跳跃defmy_goto(x,y):penup()goto(x,y)pendown()defeyes():fillcolor('#ffffff')begin_fill()tracer(False)a=2.5foriinrange(120):if0<=i<30or60<=i<90:a-=0.05lt(3)fd(a)else:a+=0.05lt(3)fd(a)tracer(True)end_fill()#胡须defbeard():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)#嘴巴defmouth():my_goto(5,148)seth(270)fd(100)seth(0)circle(120,50)seth(230)circle(-120,100)
部分代码如下:
fromturtleimport*defgo_to(x,y):penup()goto(x,y)pendown()defhelp_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)defhead():go_to(-200,180)fillcolor('yellow')begin_fill()seth(-30)for_inrange(6):circle(36,60)circle(-36,60)seth(-125)for_inrange(5):circle(40,60)circle(-40,60)seth(-210)for_inrange(4):circle(45,60)circle(-45,60)seth(65)for_inrange(5):circle(40,60)circle(-40,60)end_fill()
importturtledefgetPosition(x,y):turtle.setx(x)turtle.sety(y)print(x,y)classPikachu:def__init__(self):self.t=turtle.Turtle()t=self.tt.pensize(3)t.speed(9)t.ondrag(getPosition)defnoTrace_goto(self,x,y):self.t.penup()self.t.goto(x,y)self.t.pendown()defleftEye(self,x,y):self.noTrace_goto(x,y)t=self.tt.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()defrightEye(self,x,y):self.noTrace_goto(x,y)t=self.tt.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()
fromturtleimport*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)