//Tyler Tam
//991476113
void setup(){
size(400,400);
//Makes the background Greyish
}
void draw(){ //Re-cycles through this, but not "Void setup" ie. Everything in this part will change
frameRate(45);
colorMode(RGB,255,255,255);
background(50);
//Background Clouds
fill(60);//60
stroke(30);//30
strokeWeight(3);
arc(mouseX/10,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+72,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+144,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+216,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+288,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+360,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
rectMode(CENTER);
noStroke();
rect(200,0,420,80);
//The Mountains Behind Jolteon
colorMode(RGB,255,255,255);
fill(20);
stroke(20);
strokeWeight(2);
triangle(20,240,-40,360,40,340);
triangle(60,220,0,340,120,360);
quad(100,220,70,240,70,400, 140,340);
triangle(320,220,260,340,380,340);
quad(360,180,340,200,280,380,380,320);
triangle(400,200,340,320,400,400);
rectMode(CORNERS);
rect(0,300,400,400);
//Drawing Jolteon
//Jolteons shaded leg and stomach
colorMode(HSB,360,100,100);
fill(50,100,80);
stroke(50,100,80);
quad(150,200,140,250,155,250,170,190);
quad(140,250,135,275,145,275,155,250);
colorMode(RGB,255,255,255);
fill(255,215,0);
stroke(255,215,0);
quad(135,275,122,283,120,290,140,290);
triangle(135,275,140,290,155,250);
//Back Shaded Leg
colorMode(HSB,360,100,100);
fill(50,100,80);
stroke(50,100,80);
ellipse(220,240,30,30);
//The grey part to cut out the shadedleg
colorMode(RGB,255,255,255);
fill(50);
noStroke();
ellipse(235,235,30,30);
colorMode(HSB,360,100,100);
fill(50,100,80);
quad(210,250,205,270,222,280,235,250);
quad(200,280,190,290,220,290,220,270);
//Jolteon's torso and legs
colorMode(RGB,255,255,255);
fill(255,215,0);
stroke(255,215,0);
ellipse(178,220,56,40);
quad(160,170,190,230,220,235,220,190);
quad(220,190,220,235,245,240,265,180);
//His forward back leg
ellipse(258,230,40,40);
//The grey part to cut out leg
fill(50);
noStroke();
ellipse(279,223,40,40);
fill(255,215,0);
stroke(255,215,0);
quad(260,250,270,270,280,280,274,243);
quad(270,270,260,290,275,290,280,280);
quad(250,290,260,282,280,280,275,290);
colorMode(HSB,360,100,100);
fill(50,100,80);
stroke(50,100,80);
curve(200,300,160,200,165,238,400,100);
//curve(300,400,170,210,198,236,600,50);
//front leg
colorMode(RGB,255,255,255);
stroke(255,215,0);
fill(255,215,0);
quad(183,220,215,290,225,290,210,230);
quad(220,290,240,290,230,280,215,275);
//His mane (The white triangles)
colorMode(RGB,255,255,255);
stroke(200);
fill(200);
triangle(140,185,130,195,145,190);
triangle(145,190,140,210,170,190);
triangle(150,200,140,240,170,190);
stroke(255);
fill(255);
triangle(150,190,164,240,170,200);
triangle(160,200,175,235,175,190);
triangle(170,200,190,230,180,190);
triangle(170,200,210,215,180,180);
triangle(180,190,210,190,180,170);
triangle(180,180,210,175,180,170);
//More shaded white
stroke(200);
fill(200);
triangle(150,190,158,220,170,190);
//The pointy parts of his head
colorMode(HSB,360,100,100);
fill(50,100,90);
stroke(50,100,90);
triangle(140,170,130,170,140,180);
triangle(140,180,130,185,150,190);
triangle(145,190,135,200,155,190);
colorMode(RGB,255,255,255);
fill(255,215,0);
stroke(255,215,0);
triangle(150,190,160,200,170,190);
triangle(160,190,170,200,180,190);
//Jolteon's Head
colorMode(HSB,360,100,100);
fill(50,100,95);
stroke(50,100,95);
triangle(160,150,160,120,175,150);
colorMode(RGB,255,255,255);
fill(255,215,0);
stroke(255,215,0);
strokeWeight(2);
triangle(100,150, 135,150,140,170);
rectMode(CORNERS);
rect(150,150,180,170);
rect(140,160,170,190);
triangle(135,150,140,170,150,160);
triangle(150,160,140,140,150,150);
triangle(150,150,150,140,160,150);
triangle(160,150,155,140,165,150);
ellipseMode(CENTER);
ellipse(175,160,40,26);
quad(170,190,150,180,200,155,205,160);
quad(205,160,150,160,150,190,185,190);
//Black Nose
colorMode(RGB,255,255,255);
fill(0);
noStroke();
triangle(198,157,201,159,202,155);
//Shades in paart of the head
colorMode(HSB,360,100,100);
fill(50,100,90);
stroke(50,100,90);
triangle(136,170,150,190,139,191);
//The Black part of his ears
colorMode(RGB,255,255,255);
fill(0);
quad(104,152,135,152,148,160,140,168);
//The pointy parts of his tail
colorMode(RGB,255,255,255);
stroke(255,215,0);
fill(255,215,0);
triangle(240,210,280,230,250,200);
triangle(285,217,250,212,250,197);
triangle(290,205,250,190,240,205);
triangle(290,190,240,205,240,190);
triangle(290,175,220,200,260,200);
triangle(287,150,215,200,250,200);
//The continuous drawing things. (His eye, Thunder, and the Clouds)
//His eye
//BlackPart
noStroke();
fill(0);
quad(150,165,163,178,175,175,170,155);
//The White Part
fill(255);
noStroke();
ellipse(168,164,7,7);
//The brown part
colorMode(HSB,360,100,100);
fill(24,100,65);
ellipse(155,169,10,8);
//Black Outline for the eye
stroke(0);
noFill();
quad(148,165,163,173,172,170,168,159);
//Eyelid
colorMode(RGB,255,255,255);
noFill();
strokeWeight(7);
stroke(255,215,0);
quad(140,165,163,177,178,173,170,153);
//His mouth
colorMode(HSB,360,100,100);
fill(340,100,61);
noStroke();
quad(202,165,180,170,170,190,185,190);
//Tongue
colorMode(RGB,255,255,255);
fill(255,0,0);
quad(170,190,183,190,180,180,175,180);
//The ground under Jolten
colorMode(HSB, 360,100,100);
noStroke();
fill(24,100,77);
stroke(24,100,77);
strokeWeight(1.6);
quad(400,320,290,290,120,280,380,370);
triangle(90,270,100,310,380,370);
quad(100,310,130,340,150,400,380,370);
triangle(150,400,400,400,380,370);
triangle(400,320,380,370,400,400);
//The interactive rain
colorMode(RGB,255,255,255);
strokeWeight(4);
stroke(0,190,255,99);
line(50+sin(mouseX)*50,60+sin(mouseX)*50,55+sin(mouseX)*50,70+sin(mouseX)*50);
//line(50+sin(mouseX)*50,60+sin(mouseY)*100,55+sin(mouseX)*50,70+sin(mouseY)*100);
//line(80+sin(mouseX)*50,90+sin(mouseY)*100,85+sin(mouseX)*50,100+sin(mouseY)*100);
line(80+sin(mouseX)*50,90+sin(mouseY)*100,85+sin(mouseX)*50,100+sin(mouseY)*100);
line(200+sin(mouseX)*50,90+sin(mouseY)*100,205+sin(mouseX)*50,100+sin(mouseY)*100);
line(190+sin(mouseX)*50,200+sin(mouseY)*100,195+sin(mouseX)*50,210+sin(mouseY)*100);
line(60+sin(mouseX)*50,300+sin(mouseY)*100,65+sin(mouseX)*50,310+sin(mouseY)*100);
line(250+sin(mouseX)*50,250+sin(mouseY)*100,255+sin(mouseX)*50,260+sin(mouseY)*100);
line(300+sin(mouseX)*50,70+sin(mouseY)*100,305+sin(mouseX)*50,80+sin(mouseY)*100);
line(120+sin(mouseX)*50,200+sin(mouseY)*100,125+sin(mouseX)*50,210+sin(mouseY)*100);
line(150+sin(mouseX)*50,310+sin(mouseY)*100,155+sin(mouseX)*50,320+sin(mouseY)*100);
line(300+sin(mouseX)*50,200+sin(mouseY)*100,305+sin(mouseX)*50,210+sin(mouseY)*100);
line(320+sin(mouseX)*50,330+sin(mouseY)*100,325+sin(mouseX)*50,340+sin(mouseY)*100);
line(20+sin(mouseX)*50,190+sin(mouseY)*100,25+sin(mouseX)*50,200+sin(mouseY)*100);
}
//When the mouse is pressed, the lightning
void mousePressed(){
frameRate(5);
//THe yellow lightning
colorMode(HSB,360,100,100);
stroke(52,93,100);
strokeWeight(2);
fill(52,93,100);
quad(50,20,90,20,80,80,40,80);
quad(40,80,80,80,90,140,50,140);
quad(50,140,90,140,80,200,40,200);
quad(40,200,80,200,90,260,50,260);
quad(90,260,50,260,40,320,80,320);
quad(40,320,80,320,90,360,50,360);
quad(50,360,90,360,80,400,40,400);
fill(0,0,100);
stroke(0,0,100);
quad(60,20,80,20,70,80,50,80);
quad(50,80,70,80,80,140,60,140);
quad(60,140,80,140,70,200,50,200);
quad(50,200,70,200,80,260,60,260);
quad(80,260,60,260,50,320,70,320);
quad(50,320,70,320,80,360,60,360);
quad(60,360,80,360,70,400,50,400);
//The second lightning
colorMode(HSB,360,100,100);
stroke(52,93,100);
strokeWeight(2);
fill(52,93,100);
quad(340,20,380,20,390,80,350,80);
quad(350,80,390,80,380,140,340,140);
quad(340,140,380,140,390,200,350,200);
quad(350,200,390,200,380,260,340,260);
quad(340,260,380,260,390,320,350,320);
quad(350,320,390,320,380,360,340,360);
quad(340,360,380,360,390,400,350,400);
colorMode(RGB,255,255,255);
stroke(255);
fill(255);
quad(350,20,370,20,380,80,360,80);
quad(360,80,380,80,370,140,350,140);
quad(350,140,370,140,380,200,360,200);
quad(360,200,380,200,370,260,350,260);
quad(350,260,370,260,380,320,360,320);
quad(360,320,380,320,370,360,350,360);
quad(350,360,370,360,380,400,360,400);
//Background Clouds
fill(60);//60
stroke(30);//30
strokeWeight(3);
arc(mouseX/10,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+72,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+144,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+216,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+288,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
arc(mouseX/10+360,23,100,50,0+QUARTER_PI,PI-QUARTER_PI);
rectMode(CENTER);
noStroke();
rect(200,0,420,80);
}