怎么用python画一个皮卡丘,python绘制皮卡丘

  怎么用python画一个皮卡丘,python绘制皮卡丘

  作为童年时代比较受大家欢迎的卡通人物,皮卡丘肯定是榜上有名的。我们在学习了大蟒后,也可以使用相关的代码画出一只可爱的皮卡丘。

  进口海龟

  defgetPosition(x,y):

  turtle.setx(x)

  乌龟。塞提(y)

  打印(x,y)

  classPikachu:

  def__init__(self):

  self.t=海龟。乌龟()

  t=自我

  沉思(3)

  速度测试(9)

  t.ondrag(获取位置)

  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=自我

  塞思(0)

  t。填充颜色(# 333333)

  t.begin_fill()

  t型圈(22)

  t.end_fill()

  self.noTrace_goto(x,y 10)

  t。填充颜色(# 000000)

  t.begin_fill()

  t圆(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.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()

  

  defmouth(self,x,y):

  self.noTrace_goto(x,y)

  t=self.t

  

  t.fillcolor('#88141D')

  t.begin_fill()

  #下嘴唇

  l1=[]

  l2=[]

  t.seth(190)

  a=0.7

  foriinrange(28):

  a+=0.1

  t.right(3)

  t.fd(a)

  l1.append(t.position())

  

  self.noTrace_goto(x,y)

  

  t.seth(10)

  a=0.7

  foriinrange(28):

  a+=0.1

  t.left(3)

  t.fd(a)

  l2.append(t.position())

  

  #上嘴唇

  

  t.seth(10)

  t.circle(50,15)

  t.left(180)

  t.circle(-50,15)

  

  t.circle(-50,40)

  t.seth(233)

  t.circle(-50,55)

  t.left(180)

  t.circle(50,12.1)

  t.end_fill()

  

  #舌头

  self.noTrace_goto(17,54)

  t.fillcolor('#DD716F')

  t.begin_fill()

  t.seth(145)

  t.circle(40,86)

  t.penup()

  forposinreversed(l1[:20]):

  t.goto(pos[0],pos[1]+1.5)

  forposinl2[:20]:

  t.goto(pos[0],pos[1]+1.5)

  t.pendown()

  t.end_fill()

  

  #鼻子

  self.noTrace_goto(-17,94)

  t.seth(8)

  t.fd(4)

  t.back(8)

  

  #红脸颊

  defleftCheek(self,x,y):

  turtle.tracer(False)

  t=self.t

  self.noTrace_goto(x,y)

  t.seth(300)

  t.fillcolor('#DD4D28')

  t.begin_fill()

  a=2.3

  foriinrange(120):

  if0<=i<30or60<=i<90:

  a-=0.05

  t.lt(3)

  t.fd(a)

  else:

  a+=0.05

  t.lt(3)

  t.fd(a)

  t.end_fill()

  turtle.tracer(True)

  

  defrightCheek(self,x,y):

  t=self.t

  turtle.tracer(False)

  self.noTrace_goto(x,y)

  t.seth(60)

  t.fillcolor('#DD4D28')

  t.begin_fill()

  a=2.3

  foriinrange(120):

  if0<=i<30or60<=i<90:

  a-=0.05

  t.lt(3)

  t.fd(a)

  else:

  a+=0.05

  t.lt(3)

  t.fd(a)

  t.end_fill()

  turtle.tracer(True)

  

  defcolorLeftEar(self,x,y):

  t=self.t

  self.noTrace_goto(x,y)

  t.fillcolor('#000000')

  t.begin_fill()

  t.seth(330)

  t.circle(100,35)

  t.seth(219)

  t.circle(-300,19)

  t.seth(110)

  t.circle(-30,50)

  t.circle(-300,10)

  t.end_fill()

  

  defcolorRightEar(self,x,y):

  t=self.t

  self.noTrace_goto(x,y)

  t.fillcolor('#000000')

  t.begin_fill()

  t.seth(300)

  t.circle(-100,30)

  t.seth(35)

  t.circle(300,15)

  t.circle(30,50)

  t.seth(190)

  t.circle(300,17)

  t.end_fill()

  

  defbody(self):

  t=self.t

  

  t.fillcolor('#F6D02F')

  t.begin_fill()

  #右脸轮廓

  t.penup()

  t.circle(130,40)

  t.pendown()

  t.circle(100,105)

  t.left(180)

  t.circle(-100,5)

  

  #右耳朵

  t.seth(20)

  t.circle(300,30)

  t.circle(30,50)

  t.seth(190)

  t.circle(300,36)

  

  #上轮廓

  t.seth(150)

  t.circle(150,70)

  

  #左耳朵

  t.seth(200)

  t.circle(300,40)

  t.circle(30,50)

  t.seth(20)

  t.circle(300,35)

  #print(t.pos())

  

  #左脸轮廓

  t.seth(240)

  t.circle(105,95)

  t.left(180)

  t.circle(-105,5)

  

  #左手

  t.seth(210)

  t.circle(500,18)

  t.seth(200)

  t.fd(10)

  t.seth(280)

  t.fd(7)

  t.seth(210)

  t.fd(10)

  t.seth(300)

  t.circle(10,80)

  t.seth(220)

  t.fd(10)

  t.seth(300)

  t.circle(10,80)

  t.seth(240)

  t.fd(12)

  t.seth(0)

  t.fd(13)

  t.seth(240)

  t.circle(10,70)

  t.seth(10)

  t.circle(10,70)

  t.seth(10)

  t.circle(300,18)

  

  t.seth(75)

  t.circle(500,8)

  t.left(180)

  t.circle(-500,15)

  t.seth(250)

  t.circle(100,65)

  

  #左脚

  t.seth(320)

  t.circle(100,5)

  t.left(180)

  t.circle(-100,5)

  t.seth(220)

  t.circle(200,20)

  t.circle(20,70)

  

  t.seth(60)

  t.circle(-100,20)

  t.left(180)

  t.circle(100,20)

  t.seth(300)

  t.circle(10,70)

  

  t.seth(60)

  t.circle(-100,20)

  t.left(180)

  t.circle(100,20)

  t.seth(10)

  t.circle(100,60)

  

  #横向

  t.seth(180)

  t.circle(-100,10)

  t.left(180)

  t.circle(100,10)

  t.seth(5)

  t.circle(100,10)

  t.circle(-100,40)

  t.circle(100,35)

  t.left(180)

  t.circle(-100,10)

  

  #右脚

  t.seth(290)

  t.circle(100,55)

  t.circle(10,50)

  

  t.seth(120)

  t.circle(100,20)

  t.left(180)

  t.circle(-100,20)

  

  t.seth(0)

  t.circle(10,50)

  

  t.seth(110)

  t.circle(100,20)

  t.left(180)

  t.circle(-100,20)

  

  t.seth(30)

  t.circle(20,50)

  

  t.seth(100)

  t.circle(100,40)

  

  #右侧身体轮廓

  t.seth(200)

  t.circle(-100,5)

  t.left(180)

  t.circle(100,5)

  t.left(30)

  t.circle(100,75)

  t.right(15)

  t.circle(-300,21)

  t.left(180)

  t.circle(300,3)

  

  #右手

  t.seth(43)

  t.circle(200,60)

  

  t.right(10)

  t.fd(10)

  

  t.circle(5,160)

  t.seth(90)

  t.circle(5,160)

  t.seth(90)

  

  t.fd(10)

  t.seth(90)

  t.circle(5,180)

  t.fd(10)

  

  t.left(180)

  t.left(20)

  t.fd(10)

  t.circle(5,170)

  t.fd(10)

  t.seth(240)

  t.circle(50,30)

  

  t.end_fill()

  self.noTrace_goto(130,125)

  t.seth(-20)

  t.fd(5)

  t.circle(-5,160)

  t.fd(5)

  

  #手指纹

  self.noTrace_goto(166,130)

  t.seth(-90)

  t.fd(3)

  t.circle(-4,180)

  t.fd(3)

  t.seth(-90)

  t.fd(3)

  t.circle(-4,180)

  t.fd(3)

  

  #尾巴

  self.noTrace_goto(168,134)

  t.fillcolor('#F6D02F')

  t.begin_fill()

  t.seth(40)

  t.fd(200)

  t.seth(-80)

  t.fd(150)

  t.seth(210)

  t.fd(150)

  t.left(90)

  t.fd(100)

  t.right(95)

  t.fd(100)

  t.left(110)

  t.fd(70)

  t.right(110)

  t.fd(80)

  t.left(110)

  t.fd(30)

  t.right(110)

  t.fd(32)

  

  t.right(106)

  t.circle(100,25)

  t.right(15)

  t.circle(-300,2)

  ##############

  #print(t.pos())

  t.seth(30)

  t.fd(40)

  t.left(100)

  t.fd(70)

  t.right(100)

  t.fd(80)

  t.left(100)

  t.fd(46)

  t.seth(66)

  t.circle(200,38)

  t.right(10)

  t.fd(10)

  t.end_fill()

  

  #尾巴花纹

  t.fillcolor('#923E24')

  self.noTrace_goto(126.82,-156.84)

  t.begin_fill()

  

  t.seth(30)

  t.fd(40)

  t.left(100)

  t.fd(40)

  t.pencolor('#923e24')

  t.seth(-30)

  t.fd(30)

  t.left(140)

  t.fd(20)

  t.right(150)

  t.fd(20)

  t.left(150)

  t.fd(20)

  t.right(150)

  t.fd(20)

  t.left(130)

  t.fd(18)

  t.pencolor('#000000')

  t.seth(-45)

  t.fd(67)

  t.right(110)

  t.fd(80)

  t.left(110)

  t.fd(30)

  t.right(110)

  t.fd(32)

  t.right(106)

  t.circle(100,25)

  t.right(15)

  t.circle(-300,2)

  t.end_fill()

  

  #帽子、眼睛、嘴巴、脸颊

  self.cap(-134.07,147.81)

  self.mouth(-5,25)

  self.leftCheek(-126,32)

  self.rightCheek(107,63)

  self.colorLeftEar(-250,100)

  self.colorRightEar(140,270)

  self.leftEye(-85,90)

  self.rightEye(50,110)

  t.hideturtle()

  

  defcap(self,x,y):

  self.noTrace_goto(x,y)

  t=self.t

  t.fillcolor('#CD0000')

  t.begin_fill()

  t.seth(200)

  t.circle(400,7)

  t.left(180)

  t.circle(-400,30)

  t.circle(30,60)

  t.fd(50)

  t.circle(30,45)

  t.fd(60)

  t.left(5)

  t.circle(30,70)

  t.right(20)

  t.circle(200,70)

  t.circle(30,60)

  t.fd(70)

  #print(t.pos())

  t.right(35)

  t.fd(50)

  t.circle(8,100)

  t.end_fill()

  self.noTrace_goto(-168.47,185.52)

  t.seth(36)

  t.circle(-270,54)

  t.left(180)

  t.circle(270,27)

  t.circle(-80,98)

  

  t.fillcolor('#444444')

  t.begin_fill()

  t.left(180)

  t.circle(80,197)

  t.left(58)

  t.circle(200,45)

  t.end_fill()

  

  self.noTrace_goto(-58,270)

  t.pencolor('#228B22')

  t.dot(35)

  

  self.noTrace_goto(-30,280)

  t.fillcolor('#228B22')

  t.begin_fill()

  t.seth(100)

  t.circle(30,180)

  t.seth(190)

  t.fd(15)

  t.seth(100)

  t.circle(-45,180)

  t.right(90)

  t.fd(15)

  t.end_fill()

  t.pencolor('#000000')

  

  defstart(self):

  self.body()

  

  

  defmain():

  print('PaintingthePikachu...')

  turtle.screensize(800,600)

  turtle.title('Pikachu')

  pikachu=Pikachu()

  pikachu.start()

  turtle.mainloop()

  

  

  if__name__=='__main__':

  main()

  以上就是使用python画皮卡丘的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: