diff --git a/Pikachu Drawing Using Python/Pikachu.py b/Pikachu Drawing Using Python/Pikachu.py new file mode 100644 index 0000000000..4d5ceb2357 --- /dev/null +++ b/Pikachu Drawing Using Python/Pikachu.py @@ -0,0 +1,559 @@ +# Author:Priyadarshan2000 (Priyadarshan Ghosh) +# Pikachu Drawing Using Python +# See the readme.md for how to Run this Project. + +# importing the modules +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() + + def mouth(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 + 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()) + + + + 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() + 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() + + + self.noTrace_goto(-17, 94) + t.seth(8) + t.fd(4) + t.back(8) + + + def leftCheek(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 + 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('#DD4D28') + 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('#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() + + + def colorRightEar(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() + + + def body(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) + + + 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) + + 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() + + + + def cap(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) + + 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') + + + + + def start(self): + self.body() + + + +def main(): + print('Pikachu Drawing Using Python... ') + turtle.screensize(800, 600) + turtle.title('Pikachu') + pikachu = Pikachu() + pikachu.start() + turtle.mainloop() + + +if __name__ == '__main__': + main() + diff --git a/Pikachu Drawing Using Python/README.md b/Pikachu Drawing Using Python/README.md new file mode 100644 index 0000000000..9e85a27c26 --- /dev/null +++ b/Pikachu Drawing Using Python/README.md @@ -0,0 +1,35 @@ +# Pikachu Drawing Using Python +This is a Pikachu Drawing Using Python.In this project, we created a Popular character of Pokemon Pikachu using the Turtle module.In this Project Developed using the turtle module. + +## Setup instructions +There are two ways to run it on your Linux,MAC or Windows + +- Run the executable(.exe) file. +- Run the program in your IDE or terminal/command line. + +## Requirements: +- Python3 + +```bash +pip install turtle +``` + +Click on the **Click Here** to see the Simple Python IDE using Tkinter Demo on YouTube. + +| Name of Script | YouTube Link | Author | Tools Used | +| --- | --- | --- | --- +|Pikachu Drawing Using Python| [Click Here](https://www.youtube.com/watch?v=Yf7f2JWlMu4) | [Priyadarshan Ghosh](https://github.com/Priyadarshan2000)| Turtle + +## Output + +![image](https://user-images.githubusercontent.com/62868878/116377432-cd39a080-a82e-11eb-85b2-5bf0ec06aedd.png) + + +## Demo + +![20210428_161115](https://user-images.githubusercontent.com/62868878/116391249-89e62e80-a83c-11eb-9be6-fcb7cf052096.gif) + +## Author(s) + +- Priyadarshan Ghosh (Priyadarshan2000) +