/*****************************************
*File Name: Excalibur
*Creator: Emma Butson
*Date: September 21st 2016
*Description: Moving the mouse vertically moves the sword out of the stone.
*When the sword rises upward beams of light appear in the background
*a mouse click writes that line by Thomas Mallory that Disney also quotes
*Ideally the sword would begin in the stone upon launch but I digress
*****************************************/
//Set up size of screen
void setup () {
size(400,400);
}
//Background is dark grey
void draw () {
background(30);
rectMode(CORNER);
ellipseMode(CENTER);
noStroke();
//triangles represent light beams
//Triangles become more opaque the closer the mouse is to the top of the screen
fill(255,255,255,150-mouseY);
triangle(200,250,400,50,400,200);
triangle(200,250,0,50,0,200);
/**********************
SWORD
***********************/
// top of stone
fill(50);
quad(70,350,200,320,330,350,200,380);
//further half of the slot
fill(0);
rect(175,345,50,5);
// light squares Pommel
fill(233,162,80);
rect(190,mouseY/2-50,10,10);
rect(180,mouseY/2-40,10,10);
rect(200,mouseY/2-40,10,10);
rect(210,mouseY/2-40,10,10);
//pommel shine
fill(251,190,101);
rect(190,mouseY/2-40,10,10);
rect(200,mouseY/2-50,10,10);
//light squares on grip (left side)
fill(130,100,130);
rect(190,mouseY/2-30,10,50);
//light squares on grip (right side
fill(150,120,150);
rect(200,mouseY/2-30,10,50);
//dark squares on grip (right side)
fill(95,70,100);
rect(200,mouseY/2-30,10,20);
rect(200,mouseY/2+10,10,20);
//dark squares on grip (left side)
fill(75,50,90);
rect(190,mouseY/2+20,10,10);
rect(190,mouseY/2-20,10,20);
//light squares Guard
fill(253,206,128);
rect(140,mouseY/2+30,120,10);
//dark squares Guard
fill(242,158,114);
rect(150,mouseY/2+40,100,10);
//guard shadow
fill(80,15,30);
rect(180,mouseY/2+50,40,10);
//light half of the blade
fill(160,220,230);
rect(200,mouseY/2+60,20,190);
//tip of the light half of blade
rect(200,mouseY/2+250,10,20);
//vertical shadow along blade
fill(70,130,140);
rect(190,mouseY/2+60,10,210);
//left side of blade
fill(80,140,150);
rect(180,mouseY/2+60,10,190);
//shine on the blade right side of blade
//thought: can the shine stay still and transparent and move along blade during blade movement? 09/18/16
//the answer is no, not today 09/20/16
fill(255,250,230,150);
rect(210,mouseY/2+80,10,20);
rect(210,mouseY/2+140,10,20);
rect(200,mouseY/2+150,10,20);
rect(200,mouseY/2+90,10,20);
//shine on left side of blade
fill(255,250,230,50);
rect(190,mouseY/2+170,10,20);
rect(180,mouseY/2+180,10,20);
rect(190,mouseY/2+110,10,20);
rect(180,mouseY/2+120,10,20);
/************************
END SWORD
************************/
//stone cover
fill(50);
rect(70,350,260,50);
//closer side of slot
fill(0);
rect(175,350,50,5);
//front left side of stone
fill(25);
quad(70,350, 200,380, 200,400, 70, 400);
//front right side of stone
fill(75);
quad(200,380,330,350,330,400,200,400);
}
void mousePressed() {
println("Whoso pulleth out this sword of this stone and anvil, is rightwise King of all England");
}