/* ASSIGNMENT 1: INTERACTIVE DRAWING
SHOOTING LASERS AT SOME SHIPS BY IVY ZHAO */
void setup() {
size(400, 400);
rectMode(CORNERS);
ellipseMode(CENTER);
}
//////////////////////////
//DRAWING OUT EVERYTHING//
//////////////////////////
void draw() {
frameRate(60);
background(#2DD5A4);
noStroke();
//SHADOW/BACK OF TOP SCREEN
fill(#B83F5F);
rect(82, 60, 318, 190, 15);
//SHADOW/BACK OF BOTTOM SCREEN
rect(60, 310, 338, 339, 30);
//TOP RECTANGULAR SCREEN
fill(#E85078);
rect(80, 70, 320, 200, 15);
//TOP BLACK SCREEN
fill(138 - (mouseY*0.1725), 138 - (mouseY*0.1725), 204 - (mouseY*0.255));
rect(140, 80, 260, 190);
//SPEAKERS
fill(#B83F5F);
rect(95, 170, 105, 175);
rect(295, 170, 305, 175);
//BOTTOM RECTANGULAR SCREEN
fill(#E85078);
rect(80, 205, 320, 215, 15);
quad(80, 208, 60, 318, 339, 318, 320, 213);
//TO BLOCK OUT THE SHARP EDGES OF THE QUAD.
fill(#B83F5F);
rect(72, 308, 61, 320);
rect(327, 308, 338, 320);
fill(#2DD5A4);
rect(338, 310, 342, 320);
//TO ROUND THE BOTTOM EDGES OF DEVICE
fill(#E85078);
ellipse(72, 308, 20, 20);
ellipse(327, 308, 20, 20);
//BOTTOM BLACK SCREEN
fill(138 - (mouseY*0.1725), 138 - (mouseY*0.1725), 204 - (mouseY*0.255));
quad(138, 215, 124, 305, 276, 305, 262, 215);
//MIDDLE OF DEVICE
fill(#B83F5F);
rect(80, 195, 320, 205, 40);
//SHADOW OF SMALLER CIRCLE BUTTONS
ellipse(110, 303, 10, 10); //left button
ellipse(290, 303, 10, 10); //bottom right button
ellipse(288, 290, 10, 10); //top right button
//SHADOW OF BIGGER CIRCLE BUTTONS
ellipse(293, 233, 15, 15); //top button
ellipse(298, 258, 15, 15); //bottom button
ellipse(281, 247, 15, 15); //left button
ellipse(310, 245, 15, 15); //right button
//SHADOW OF CROSSBAR/KEY
fill(#B83F5F);
quad(102 + mouseX/-300, 222 + mouseX/300, 94 + mouseX/-300, 262 + mouseX/-300, 108 + mouseX/200, 262 + mouseX/200, 115 + mouseX/200, 223 + mouseX/200); //vertical bar
quad(88 + mouseX/-300, 235 + mouseX/-300, 84 + mouseX/-300, 248 + mouseX/-300, 121 + mouseX/200, 250 + mouseX/200, 123 + mouseX/200, 235 + mouseX/200); //horizontal bar
//SMALL CIRCLE BUTTONS
fill(#FF7284);
ellipse(110, 300, 10, 10); //left button
ellipse(290, 300, 10, 10); //bottom right button
ellipse(288, 287, 10, 10); //top right button
//BIGGER CIRCLE BUTTONS
ellipse(293, 230, 15, 15); //top button
ellipse(298, 255, 15, 15); //bottom button
ellipse(281, 244, 15, 15); //left button
ellipse(310, 242, 15, 15); //right button
//CROSSBAR/KEYS
quad(99 + mouseX/200, 221 + mouseX/200, 91 + mouseX/200, 256 + mouseX/200, 105 + mouseX/133, 256 + mouseX/133, 112 + mouseX/133, 221 + mouseX/133); //vertical bar
quad(86 + mouseX/200, 232 + mouseX/-200, 83 + mouseX/200, 244 + mouseX/-200, 119 + mouseX/133, 244 + mouseX/133, 121 + mouseX/133, 232 + mouseX/133); //horizontal bar
//PEW PEW LASER GUN
fill(#1AE3D3);
ellipse(mouseX/3.3 + 138, 265, 6, 6);
triangle(mouseX/3.3 + 138, 280, ((mouseX/3.3+138) - 10), 300, (mouseX/3.3+138) + 10, 300);
fill(#FFFFEC);
ellipse(mouseX/3.3 + 138, 285, 15, 30);
rect(mouseX/3.3 + 137, 265, mouseX/3.3 + 139, 288);
fill(#1AE3D3);
ellipse(mouseX/3.3 + 138, 265, 6, 6);
rect(mouseX/3.3 + 127, 280, mouseX/3.3 + 149, 282);
rect(mouseX/3.3 + 127, 284, mouseX/3.3 + 149, 286);
//SHINY CIRCLE THINGS
fill(255);
ellipse(150 + mouseX/-40, 280 + mouseY/30, 2, 2); //1
ellipse(145 + mouseX/20, 180 + mouseY/100, 2, 2); //2
ellipse(180 + mouseX/20, 135 + mouseY/-50, 2, 2); //3
ellipse(200 + mouseX/50, 123 + mouseY/-30, 2, 2); //4
ellipse(230 + mouseX/30, 150 + mouseY/30, 2, 2);
ellipse(150 + mouseX/-50, 100 + mouseY/-50, 2, 2);
ellipse(250 + mouseX/-30, 105 + mouseY/30, 2, 2); //5
ellipse(200 + mouseX/20, 170 + mouseY/50, 2, 2); //6
ellipse(200 + mouseX/-20, 230 + mouseY/-40, 2, 2);
ellipse(248 + mouseX/100, 223 + mouseY/100, 2, 2); //7
ellipse(243 + mouseX/50, 264 + mouseY/50, 2, 2);
fill(255, 100);
ellipse(150 + mouseX/-40, 280 + mouseY/30, 6, 6); //1
ellipse(145 + mouseX/20, 180 + mouseY/100, 4, 4); //2
ellipse(180 + mouseX/20, 135 + mouseY/-50, 6, 6); //3
ellipse(200 + mouseX/50, 123 + mouseY/-30, 4, 4); //4
ellipse(250 + mouseX/-30, 105 + mouseY/30, 5, 5); //5
ellipse(200 + mouseX/20, 170 + mouseY/50, 6, 6); //6
ellipse(248 + mouseX/100, 223 + mouseY/100, 5, 5); //7
//SPACESHIPS
fill(#FFFFEC);
ellipse(160 + mouseX/100, 130 + mouseY/-100, 20, 20);
ellipse(240 + mouseX/-70, 150 + mouseY/70, 20, 20);
fill(#1AE3D3);
rect(145 + mouseX/100, 130 + mouseY/-100, 175 + mouseX/100, 140 + mouseY/-100, 10);
ellipse(160 + mouseX/100, 127 + mouseY/-100, 5, 5);
rect(225 + mouseX/-70, 150 + mouseY/70, 255 + mouseX/-70, 160 + mouseY/70, 10);
ellipse(240 + mouseX/-70, 147 + mouseY/70, 5, 5);
}
//////////////////////
//TO PEW PEW A LASER//
//////////////////////
void mousePressed() {
//frame rate lowered so laser stays longer
frameRate(10);
fill(#82E3D3);
rect(136 + (mouseX/3.3), 80, 140 + (mouseX/3.3), 190);
rect(136 + (mouseX/3.3), 215, 140+ (mouseX/3.3), 265);
//button pushing for pew pew
fill(#E85078);
ellipse(298, 255, 15, 15); //bottom button
fill(#FF7284);
ellipse(298, 258, 15, 15);
}
//////////////////////////
//TO TURN OFF THE SCREEN//
//////////////////////////
void keyPressed() {
frameRate(1);
fill(#303030);
rect(140, 80, 260, 190);
quad(138, 215, 124, 305, 276, 305, 262, 215);
//button pressing for black screen
fill(#E85078);
ellipse(110, 300, 10, 10); //left button
fill(#B83F5F);
ellipse(110, 304, 10, 10);
fill(#FF7284);
ellipse(110, 303, 10, 10);
}