//Fright_Night //Dalton Walker //Look around with your flash light but beware the scares //Some spots cause scares to occur when clicked //Try to find all of the scare spots //Also there is a chill bug for you to hang out with //Declaring variables needed for later float x1 = 225; float y = 125; float x2 = 300; float w = 50; float h = 25; float bugx = random(25, 375); float bugy = random(325, 375); float c1 = random(0,255); float c2 = random(0,255); float c3 = random(0,255); //Setup void setup() { size(400, 400); rectMode(CORNERS); frameRate(30); } //Main draw cycle filled with user defined functions to keep it looking clean void draw() { background(#76696B); drawRoom(); drawTable(); drawLamp(); drawBed(); drawWindow(); drawWindowFrame(); drawDoor(); drawBug(); fill(0, 0, 0, 100); rect(0, 0, 400, 400); drawFlashLight(); //These conditional statements activate the scares upon pressing mouse in certain spots if (mousePressed) { if (mouseX > 150 && mouseX < 225 && mouseY < 87.5 && mouseY > 12.5) { drawPentagram(); } else if (mouseX > 12.5 && mouseX < 62.5 && mouseY < 312.5 && mouseY > 150) { drawSpider(); } else if (mouseX > 315.2 && mouseX < 350 && mouseY < 232.5 && mouseY > 175) { drawTable(); drawFallenLamp(); } else if (mouseX > 200 && mouseX < 325 && mouseY < 132.5 && mouseY > 112.5) { drawEyes(); } } } //This is a separate mousePressed function to cause the lightning to just flash not linger void mousePressed() { if (mouseX > 87.5 && mouseX < 150 && mouseY < 225 && mouseY > 112.5) { drawWindow(); drawLightning(); drawWindowFrame(); } } //Function for drawing the spider void drawSpider() { noStroke(); fill(#505551); triangle(12.5, 150, 62.5, 162.5, 12.5, 162.5); triangle(12.5, 287.5, 62.5, 290, 12.5, 318.25); rect(12.5, 162, 62.5, 290); stroke(0); line(12.5, 200, 25, 225); line(50, 225, 62.5, 200); line(12.5, 237.5, 37.5, 250); line(12.5, 275, 37.5, 250); line(12.5, 312.5, 37.5, 250); line(37.5, 300, 37.5, 250); line(62.5, 275, 37.5, 250); line(63.5, 250, 37.5, 250); line(37.5, 200, 37.5, 156.25); fill(0); ellipse(37.5, 225, 25, 50); ellipse(37.5, 250, 12.5, 12.5); line(12.5, 150, 12.5, 312.5); line(12.5, 150, 62.5, 162.5); line(62.5, 162.5, 62.5, 287.5); } //Function for drawing the door void drawDoor() { noStroke(); fill(#711B21); triangle(12.5, 150, 62.5, 162.5, 12.5, 162.5); triangle(12.5, 287.5, 62.5, 290, 12.5, 318.25); rect(12.5, 162, 62.5, 290); fill(0); ellipse(50, 225, 12.5, 12.5); } //Function for drawing the window void drawWindow() { noStroke(); fill(#055F19); rect(87.5, 187.5, 150, 213); triangle(87.5, 212.5, 150, 212.5, 87.5, 225); fill(#1C024B); rect(87.5, 187.5, 150, 125); triangle(87.5, 125, 150, 125, 87.5, 112.5); stroke(0); line(150, 125, 150, 212.5); line(87.5, 112.5, 87.5, 225); line(87.5, 112.5, 150, 125); line(150, 212.5, 87.5, 225); } //Function for drawing the window frame void drawWindowFrame() { stroke(0); line(118.75, 118.75, 118.75, 218.75); line(87.5, 168.75, 150, 168.75); } //Function for drawing the bed void drawBed() { noStroke(); fill(#711B21); rect(150, 287.5, 225, 312.5); triangle(225, 287.5, 225, 312.5, 300, 225); triangle(300, 200, 300, 225, 225, 287.5); ellipse(262.5, 187.5, 75, 50); fill(#1231DB); triangle(225, 200, 225, 287.5, 150, 287.5); triangle(225, 200, 225, 287.5, 300, 200); fill(255); rect(237.5, 187.5, 262.5, 200); rect(262.5, 187.5, 287.5, 200); } //Function for drawing the table void drawTable() { noStroke(); fill(#711B21); rect(312.5, 212.5, 337.5, 237.5); triangle(312.5, 212.5, 337.5, 212.5, 325, 200); triangle(325, 200, 337.5, 212.5, 350, 200); triangle(350, 200, 350, 225, 337.5, 212.5); triangle(350, 225, 337.5, 212.5, 337.5, 237.5); } //Function for drawing the lamp on the table void drawLamp() { fill(#8E0785); ellipse(331.25, 200, 10, 25); fill(#E7FF39); rect(325, 175, 337.5, 187.5); stroke(0); line(331.25, 212.5, 318.25, 206.25); } //Function for drawing the pentagram void drawPentagram() { stroke(0); fill(#FC001E, 100); ellipse(187.5, 50, 75, 75); line(175, 37.5, 200, 37.5); line(200, 37.5, 175, 62.5); line(175, 62.5, 187.5, 25); line(187.5, 25, 200, 62.5); line(200, 62.5, 175, 37.5); } //Function for drawing the lightning void drawLightning() { fill(#FFF815); triangle(125, 118.25, 137.5, 118.25, 100, 137.5); triangle(95, 137.5, 105, 137.5, 137.5, 162.5); triangle(132.5, 162.5, 142.5, 162.5, 100, 187.5); } //Function for drawing the lamp fallen over onto the floor void drawFallenLamp() { stroke(0); fill(#8E0785); ellipse(306.25, 262.5, 10, 25); fill(#E7FF39); rect(312.5, 275, 325, 287.5); line(306.25, 250, 312.5, 225); fill(#76696B); noStroke(); rect(325, 175, 350, 200); fill(0, 0, 0, 100); rect(325, 175, 350, 200); } //Function to draw a flashlight beam that follows the mouse void drawFlashLight() { noStroke(); fill(#FAF449, 50); ellipse(mouseX, mouseY, 75, 75); ellipse(mouseX, mouseY, 50, 50); ellipse(mouseX, mouseY, 25, 25); } //Function for drawing room outlines void drawRoom() { stroke(0); line(0, 75, 175, 87.5); line(350, 87.5, 375, 0); line(350, 225, 375, 400); line(175, 225, 0, 325); noFill(); rect(175, 87.5, 350, 225); } //Function for drawing the eyes //Loop was used to create spiral ringed look void drawEyes() { float w = 50; float h = 25; while (w > 0) { fill(255); stroke(0); ellipse(x1, y, w, h); ellipse(x2, y, w, h); w = w - 5; h = h - 2.5; } } //Function for drawing the randomly located bug void drawBug() { stroke(c1,c2,c3); ellipse(bugx, bugy, 6.25, 12.5); line(bugx, bugy, bugx - 12, bugy - 6); line(bugx, bugy, bugx + 12, bugy + 6); line(bugx, bugy, bugx + 12, bugy - 6); line(bugx, bugy, bugx - 12, bugy + 6); }