- void setup()
- {
- size(400, 400); //Set canvas size to 400 x 400
- smooth(); //Turn on anti-aliasing
- frameRate(30); //Set frame rate to 30 FPS.
- }
-
- void draw()
- {
- background(15);
-
- //Moon
- fill(200); //Set Color
- stroke(1); //Set Stroke Color
- strokeWeight(1); //Set Stroke Weight
- ellipseMode(CENTER); //Set Function Mode
- ellipse(50, 35, 50, 50); //Draw Ellipse
-
- //Stars
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(200, 15, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(280, 27, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(269, 62, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(237,39, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(194,66, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(135,32, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(193, 95, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(119, 95, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(31, 94, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(18, 55, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(96, 60, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(96,9, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(6, 8, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(329, 14, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(377, 14, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(377, 54, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(325, 42, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(383, 100, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(393, 128, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(320, 96, 5, 5);
-
- fill(255);
- noStroke();
- ellipseMode(CENTER);
- ellipse(8, 126, 5, 5);
-
- //Hills, Furthest --> Closest
- //Furthest, Darkest
- fill(30,30,30);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(250, 300, 500, 400);
-
- //Grass Overlay
- fill(0,65,0,70);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(250, 300, 500, 400);
-
- //Middle
- fill(45,45,45);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(100, 310, 400, 400);
-
- //Grass Overlay
- fill(0,65,0,85);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(100, 310, 400, 400);
-
- //Front
- fill(60,60,60);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(200, 370, 600, 400);
-
- //Grass Overlay
- fill(0,125,0,65);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(200, 370, 600, 400);
-
- //Gravestones
- //Furthest Gravestones
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(218,108,215,121,228,124,228,111);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(254,127,253,145,267,148,266,131);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(294,115,294,129,307,129,307,113);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(337,95,335,117,352,120,352,98);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(368,152,363,174,380,176,382,153);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(309,169,310,186,327,187,325,169);
-
- //Middle Gravestones
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad( 37,130, 37,155, 57,150, 53,127);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad( 94,140,94,165,112,161,111,137);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(9,177, 11,200, 29,193, 25,170);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(161,144,165,161,179,161,175,142);
-
- fill(140);
- stroke(0);
- strokeWeight(0.5);
- quad(70,92,75,113,93,113,89,92);
-
- //Front Gravestones
- //Gravestones in order of left to right)
- fill(140);
- stroke(0);
- strokeWeight(1);
- quad(-10,237,-10,292,16,292,12,237);
-
- //Zombie Gravestone
- //Dirt
- fill(105,52,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(114,311,150,47);
-
- //Gravestone
- fill(140);
- stroke(0);
- strokeWeight(1);
- quad(41,167,70,327,173,317,140,155);
-
- //Text ("RIP")
- //R
- stroke(225);
- line(57,177,61,205);
- line(57,177,72,177);
- line(72,177,72,187);
- line(72,187,60,187);
- line(60,187,76,200);
-
- //I
- line(83,175,99,175);
- line(91,175,93,200);
- line(87,199,98,199);
-
- //P
- line(111,172,115,195);
- line(111,172,123,172);
- line(123,172,124,181);
- line(124,181,114,183);
-
- //Middle Gravestone
- //Dirt
- fill(105,52,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(210,245,60,28);
-
- //Gravestone
- fill(140);
- stroke(0);
- strokeWeight(1);
- quad(189,182,183,246,236,246,239,189);
-
- //Text ("RIP")
- //R
- stroke(225);
- line(195,209,196,191);
- line(196,191,205,191);
- line(205,191,204,202);
- line(204,202,195,202);
- line(195,202,202,209);
-
- //I
- line(210,192,220,192);
- line(214,192,210,210);
- line(205,210,216,210);
-
- //P
- line(224,192,222,211);
- line(224,192,233,193);
- line(233,193,233,203);
- line(233,203,226,203);
-
- //Skeleton Gravestone
- //Dirt
- fill(105,52,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(300,320,150,47);
-
- //Gravestone
- fill(140);
- stroke(0);
- strokeWeight(1);
- quad(276,182,250,332,350,332,354,193);
-
- //Text ("RIP")
- //R
- stroke(255);
- line(283,230,286,197);
- line(286,197,301,199);
- line(301,199,300,216);
- line(300,216,287,210);
- line(287,210,300,230);
-
- //I
- line(308,201,326,201);
- line(316,203,313,227);
- line(307,228,321,228);
-
- //P
- line(334,229,334,201);
- line(334,201,343,201);
- line(343,201,343,214);
- line(343,214,334,214);
-
- //Zombie & Skeleton
- //ZOMBIE
- //Arm
- fill(0,50,0); //164,148,128 BEIGE
- noStroke();
- quad(105,mouseY+337,88,mouseY+238,116,mouseY+222,145,mouseY+336);
-
- //Hand
- fill(0,50,0);
- noStroke();
- strokeWeight(0.5);
- quad(74,mouseY+208,88,mouseY+240,116,mouseY+224,116,mouseY+199);
-
- //Fingers (Right to Left)
- fill(0,50,0);
- noStroke();
- quad(102,mouseY+215,102,mouseY+220,133,mouseY+210,133,mouseY+205);
-
- fill(0,50,0);
- noStroke();
- rectMode(CENTER);
- rect(110,mouseY+195,5,25);
-
- fill(0,50,0);
- noStroke();
- rectMode(CENTER);
- rect(100,mouseY+196,5,25);
-
- fill(0,50,0);
- noStroke();
- rectMode(CENTER);
- rect(90,mouseY+200,5,25);
-
- fill(0,50,0);
- noStroke();
- rectMode(CENTER);
- rect(80,mouseY+203,5,25);
-
- //Blood Patches (Bottom to Top)
- fill(50,0,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(113,mouseY+305,25,15);
-
- fill(50,0,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(117,mouseY+280,10,10);
-
- fill(50,0,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(120,mouseY+260,10,20);
-
- fill(50,0,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(98,mouseY+240,7,17);
-
- fill(50,0,0);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(100,mouseY+215,4,9);
-
- //SKELETON
- //Spine
- fill(190);
- noStroke();
- rectMode(CENTER);
- rect(305,mouseY+315,20,8);
-
- fill(190);
- noStroke();
- rectMode(CENTER);
- rect(305,mouseY+325,20,8);
-
- fill(190);
- noStroke();
- rectMode(CENTER);
- rect(305,mouseY+335,20,8);
-
- fill(190);
- noStroke();
- rectMode(CENTER);
- rect(305,mouseY+345,20,8);
-
- //Tooth #1
- fill(175);
- stroke(0);
- strokeWeight(0.8);
- rectMode(CENTER);
- rect(295,mouseY+305,13,25);
-
- //Tooth #2
- fill(175);
- stroke(0);
- strokeWeight(0.8);
- rectMode(CENTER);
- rect(305,mouseY+305,13,25);
-
- //Tooth #3
- fill(175);
- stroke(0);
- strokeWeight(0.8);
- rectMode(CENTER);
- rect(315,mouseY+305,13,25);
-
- //Skull
- fill(175);
- stroke(0);
- strokeWeight(0.8);
- ellipseMode(CENTER);
- ellipse(305,mouseY+275,70,65);
-
- //Upper Jaw
- fill(175);
- noStroke();
- ellipseMode(CENTER);
- ellipse(305,mouseY+290,45,45);
-
- //Eyes
- fill(0);
- noStroke();
- ellipseMode(CENTER);
- ellipse(290,mouseY+275,15,29);
-
- fill(0);
- noStroke();
- ellipseMode(CENTER);
- ellipse(320,mouseY+275,15,29);
-
- //Nose
- fill(0);
- noStroke();
- triangle(305,mouseY+295,300,mouseY+285, 310,mouseY+285);
-
- //Hole in Ground/Overlay
- //Overlay
- //Front
- fill(60,60,60);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(170, 534, 600, 400);
-
- //Grass Overlay
- fill(0,125,0,65);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(170, 534, 600, 400);
-
- //Left Gravestone Hole
- fill(5);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(125,347,125,27);
-
- //Right Gravestone Hole
- fill(5);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(301,359,125,27);
-
- //Gray Overlay
- rectMode(CORNER);
- fill(15,15,15,-mouseY+125);
- rect(0,0,400,400);
-
- }
-
- void mousePressed()
- {
-
- //Skeleton's Eyes Flash Red
- //Eyes
- fill(220,0,0);
- noStroke();
- ellipseMode(CENTER);
- ellipse(290,mouseY+275,5,19);
-
- fill(220,0,0);
- noStroke();
- ellipseMode(CENTER);
- ellipse(320,mouseY+275,5,19);
-
- //Front (Here to prevent eyes from glowing underground)
- fill(60,60,60);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(170, 534, 600, 400);
-
- //Grass Overlay (Here to prevent eyes from glowing underground)
- fill(15,15,15,-mouseY+150); //Fill is set to the same as the gray overlay to avoid this shape being seen when the mouse is clicked
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(170, 534, 600, 400);
-
-
-
- //Right Gravestone Hole (Here to prevent eyes from glowing underground)
- fill(5);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(301,359,125,27);
-
- //Left Gravestone Hole (Here to prevent layering issues)
- fill(5);
- noStroke();
- strokeWeight(0.5);
- ellipseMode(CENTER);
- ellipse(125,347,125,27);
-
- //Flash Red Over Screen
- rectMode(CORNER);
- noStroke();
- fill(175,0,0,125);
- rect(0,0,400,400);
- }