Ads

PIKACHU DRAWING USING PYTHON LANGUAGE | HOW TO DRAW PIKACHU IN PYTHON PROGRAMMING | LEARN PYTHON CODING | python turtle graphics

 # WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS CHANNEL

# PTHON PROGRAM TO DRAW PIKACHU WITH ANIMATION


import turtle


turtle.bgcolor('GOLD')


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('GRAY')

        t.begin_fill()

        t.circle(22)

        t.end_fill()


        self.noTrace_goto(x, y + 10)

        t.fillcolor('BLACK')

        t.begin_fill()

        t.circle(10)

        t.end_fill()


        self.noTrace_goto(x + 6, y + 22)

        t.fillcolor('SNOW')

        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('GRAY')

        t.begin_fill()

        t.circle(22)

        t.end_fill()


        self.noTrace_goto(x, y + 10)

        t.fillcolor('BLACK')

        t.begin_fill()

        t.circle(10)

        t.end_fill()


        self.noTrace_goto(x - 6, y + 22)

        t.fillcolor('SNOW')

        t.begin_fill()

        t.circle(10)

        t.end_fill()


    def mouth(self, x, y):

        self.noTrace_goto(x, y)

        t = self.t


        t.fillcolor('CRIMSON')

        t.begin_fill()


 # Lower Lip _________________

        l1 = []

        l2 = []

        t.seth(190)

        a = 0.7

        for i in range(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

        for i in range(28):

            a += 0.1

            t.left(3)

            t.fd(a)

            l2.append(t.position())


  # Upper Lip _______________________________-

        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()


# Tongue ___________________

        self.noTrace_goto(17, 54)

        t.fillcolor('HOTPINK')

        t.begin_fill()

        t.seth(145)

        t.circle(40, 86)

        t.penup()

        for pos in reversed(l1[:20]):

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

        for pos in l2[:20]:

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

        t.pendown()

        t.end_fill()


# Nose _______________________-

        self.noTrace_goto(-17, 94)

        t.seth(8)

        t.fd(4)

        t.back(8)


 # Red Cheeks ______________________

    def leftCheek(self, x, y):

        turtle.tracer(False)

        t = self.t

        self.noTrace_goto(x, y)

        t.seth(300)

        t.fillcolor('TOMATO')

        t.begin_fill()

        a = 2.3

        for i in range(120):

            if 0 <= i < 30 or 60 <= 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)


    def rightCheek(self, x, y):

        t = self.t

        turtle.tracer(False)

        self.noTrace_goto(x, y)

        t.seth(60)

        t.fillcolor('TOMATO')

        t.begin_fill()

        a = 2.3

        for i in range(120):

            if 0 <= i < 30 or 60 <= 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)


    def colorLeftEar(self, x, y):

        t = self.t

        self.noTrace_goto(x, y)

        t.fillcolor('PERU')

        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()


    def colorRightEar(self, x, y):

        t = self.t

        self.noTrace_goto(x, y)

        t.fillcolor('PERU')

        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()


    def body(self):

        t = self.t


        t.fillcolor('YELLOW')

        t.begin_fill()


 # Right face contour ____________________

        t.penup()

        t.circle(130, 40)

        t.pendown()

        t.circle(100, 105)

        t.left(180)

        t.circle(-100, 5)


 # Right ear ____________________

        t.seth(20)

        t.circle(300, 30)

        t.circle(30, 50)

        t.seth(190)

        t.circle(300, 36)


  # Upper profile ____________________

        t.seth(150)

        t.circle(150, 70)


  # Left ear ________________________

        t.seth(200)

        t.circle(300, 40)

        t.circle(30, 50)

        t.seth(20)

        t.circle(300, 35)


 # Left face contour  _________________

        t.seth(240)

        t.circle(105, 95)

        t.left(180)

        t.circle(-105, 5)


# Left hand _________________

        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)


# Left foot _____________________

        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)


  # Horizontal __________________________

        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)


 # Right foot ____________________

        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)


# Right body contour _______________________

        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)


# Right hand ____________________

        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)


  # Fingers ______________________

        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)


  # Tail ______________________

        self.noTrace_goto(168, 134)

        t.fillcolor('YELLOW')

        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)

        

        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()


 # Tail Pattern ___________________

        t.fillcolor('PERU')

        self.noTrace_goto(126.82, -156.84)

        t.begin_fill()


        t.seth(30)

        t.fd(40)

        t.left(100)

        t.fd(40)

        t.pencolor('sienna')

        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('black')

        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()


  # Hat, Eye, Mouth, Cheek _____________________

        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()


    def cap(self, x, y):

        self.noTrace_goto(x, y)

        t = self.t

        t.fillcolor('BLUEVIOLET')

        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)

        

        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('DIMGREY')

        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('NAVY')

        t.dot(35)


        self.noTrace_goto(-30, 280)

        t.fillcolor('ROYALBLUE')

        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('BLACK')


    def start(self):

        self.body()


def main():

    print('CREATED BY ROHIT... ')

    wn = turtle.Screen()

    wn.setup(width=800, height=800)

         

pikachu = Pikachu()

pikachu.start()

turtle.mainloop()


if __name__ == '__main__':

 main()


 #_________________________ LIKE ___________ SHARE  _______________ SUBSCRIBE ________________

Post a Comment

0 Comments