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); }