/*
THE CAVE
As the user moves their mouse around the screen the torch follows it, lighting up the
area around it. On the one side of the screen there is chest filled with gold waiting to be
discovered. As the mouse moves the tip of the flame follows slowy.
As the mouse moves lower on the screen the eyes in the background begin to
light up
HARRISON KERR 991438373
*/
void setup() {
size(400, 400);
// noCursor();
frameRate(30);
}
void draw() {
background(31, 15, 20);
stroke(1);
strokeWeight(0.5);
//lower bg
rectMode(CORNERS);
fill(67, 67, 67);
rect(0, 210, 400, 400);
//inside treasure chest
fill(250, 191, 20);
//treasure chest
fill(0);
rect(275, 178, 400, 230);
fill(39, 27, 8);
quad(330, 190, 280, 174, 400, 155, 450, 170);
arc(300, 210, 80, 80, radians(150), radians(330));
quad(260, 280, 260, 220, 330, 230, 330, 290);
quad(330, 230, 330, 290, 400, 275, 400, 215);
fill(175, 175, 175);
quad(370, 170, 375, 185, 385, 180, 380, 165);
fill(15, 12, 1);
strokeWeight(2);
line(260, 240, 330, 250);
line(260, 260, 330, 270);
line(330, 250, 400, 235);
line(330, 270, 400, 255);
//coins on outside of chest
fill(250, 191, 20);
noStroke();
ellipseMode(CENTER);
ellipse(260, 280, 15, 15);
ellipse(270, 280, 15, 15);
ellipse(270, 285, 15, 15);
ellipse(260, 280, 15, 15);
ellipse(280, 285, 15, 15);
ellipse(290, 290, 15, 15);
ellipse(300, 292, 15, 15);
ellipse(270, 285, 15, 15);
quad(283, 223, 330, 229, 400, 214, 361, 210);
//torch
fill(250, 212, 154);
quad(mouseX-10, mouseY+70, mouseX+10, mouseY+70, mouseX+30, mouseY+90, mouseX+5, mouseY+90);
fill(137, 107, 58);
quad(mouseX-30, mouseY-10, mouseX+20, mouseY-5, mouseX+10, mouseY+30, mouseX-35, mouseY+30);
quad(mouseX, mouseY+50, mouseX-30, mouseY+50, mouseX-35, mouseY+30, mouseX+10, mouseY+30);
quad(mouseX-30, mouseY+50, mouseX, mouseY+50, mouseX-30, mouseY+170, mouseX-55, mouseY+170);
//hand
fill(250, 212, 154);
quad(mouseX+5, mouseY+90, mouseX+30, mouseY+90, mouseX+20, mouseY+130, mouseX-20, mouseY+130);
quad(mouseX+5, mouseY+90, mouseX-20, mouseY+100, mouseX-30, mouseY+110, mouseX-20, mouseY+130);
quad(mouseX-20, mouseY+100, mouseX-30, mouseY+110, mouseX-50, mouseY+100, mouseX-40, mouseY+90);
quad(mouseX-20, mouseY+130, mouseX+20, mouseY+130, mouseX+50, 400, mouseX, 400);
//fire on torch
fill(255, 165, 18, 100);
quad(mouseX-35, mouseY+30, mouseX+10, mouseY+30, mouseX+30, mouseY, mouseX-40, mouseY-10);
quad(mouseX-40, mouseY-10, mouseX+30, mouseY, mouseX+25, mouseY-30, mouseX-10, mouseY-50);
quad(mouseX+25, mouseY-30, mouseX-10, mouseY-50, pmouseX+5, pmouseY-70, mouseX+20, mouseY-50);
//light/shadows
fill(255, 240, 103, 20);
triangle(mouseX-110, mouseY-10, mouseX-110, mouseY-80, mouseX-40, mouseY-100);
triangle(mouseX-110, mouseY-80, mouseX-40, mouseY-100, mouseX, mouseY-140);
triangle(mouseX-40, mouseY-100, mouseX, mouseY-140, mouseX +40, mouseY-100);
triangle(mouseX, mouseY-140, mouseX + 40, mouseY - 100, mouseX + 90, mouseY - 60);
triangle(mouseX+40, mouseY-100, mouseX +90, mouseY-60, mouseX+50, mouseY+20);
triangle(mouseX+90, mouseY-60, mouseX+50, mouseY+20, mouseX+60, mouseY+70);
triangle(mouseX+50, mouseY+20, mouseX+60, mouseY+70, mouseX+40, mouseY+110);
triangle(mouseX+60, mouseY+70, mouseX+40, mouseY+110, mouseX - 50, mouseY+130);
triangle(mouseX - 50, mouseY+130, mouseX-110, mouseY+100, mouseX-110, mouseY-10);
triangle(mouseX+40, mouseY+110, mouseX, mouseY+160, mouseX-50, mouseY+130);
//middle light/shadows
fill(52, 51, 36, 225);
quad(mouseX, mouseY-140, mouseX+110, mouseY-160, mouseX+210, mouseY+10, mouseX+90, mouseY-60);
quad(mouseX+90, mouseY-60, mouseX+210, mouseY+10, mouseX+110, mouseY+180, mouseX+60, mouseY+70);
quad(mouseX+60, mouseY+70, mouseX+110, mouseY+180, mouseX-100, mouseY+170, mouseX, mouseY+160);
quad(mouseX-100, mouseY+170, mouseX, mouseY+160, mouseX-110, mouseY+100, mouseX-180, mouseY+20);
quad(mouseX-110, mouseY+100, mouseX-180, mouseY+20, mouseX-90, mouseY-170, mouseX-110, mouseY-80);
quad(mouseX-90, mouseY-170, mouseX-110, mouseY-80, mouseX, mouseY-140, mouseX+110, mouseY-160);
//darkest shadows
fill(15, 15, 9, 240);
quad(0, 170, mouseX-180, mouseY+20, mouseX-90, mouseY-170, 0, 0);
quad(mouseX-90, mouseY-170, 0, 0, 400, 0, mouseX+110, mouseY-160);
quad(400, 0, mouseX+110, mouseY-160, mouseX+210, mouseY+10, 400, 400);
quad(mouseX+210, mouseY+10, 400, 400, 0, 400, mouseX+110, mouseY+170);
triangle(0, 400, mouseX+110, mouseY+170, mouseX-100, mouseY+170);
quad(mouseX-100, mouseY+170, 0, 400, 0, 170, mouseX-180, mouseY+20);
//red eyes
fill(183, 38, 2, mouseY);
ellipseMode(CENTER);
ellipse(340, 70, 5, 10);
ellipse(330, 70, 5, 10);
ellipse(220, 60, 5, 10);
ellipse(210, 60, 5, 10);
ellipse(150, 100, 5, 10);
ellipse(140, 100, 5, 10);
ellipse(100, 30, 5, 10);
ellipse(90, 30, 5, 10);
ellipse(50, 20, 5, 10);
ellipse(40, 20, 5, 10);
}