float tileY;
float tileX;
float Spacing = 10;
float freddyY;
float freddyX;
float freddySpeed=10;
float fbX;
void setup() {
size(400, 400);
frameRate(60);
freddyX=175;
freddyY=140;
fbX=170;
}
void draw() {
background (46,42,84);
// creating the floor
noStroke();
rectMode(CORNERS);
fill(84, 62, 62);
rect(0, 300, 400, 400);
tileY=300;
// this is the loop that creates the wooden floor
while (tileY <= height) {
strokeWeight(2);
stroke(41, 40, 39);
line(tileX, tileY, tileX+width, tileY);
tileY = tileY + Spacing;
}
// this allows freddy to move according to mouseY
if (mousePressed==true) {
if (mouseY<=280 && mouseY>=20) {
freddyY=mouseY;
}
}
// this allows for freddy to either fall unto x=140 or return to it and start to bounce by default
if (mousePressed==false) {
freddyY -= freddySpeed * 0.1;
if (freddyY >= 140) {
freddySpeed = 15;
}
}
// this is what allows the eyes of the box to follow mouseX but also stay within a restricted area
if (keyPressed==true) {
if (mouseX>= 160 && mouseX <= 180) {
fbX=mouseX;
}
}
freddySpeed -= 1;
freddy();
freddyBox();
}
void freddy() {
////////FREDDY//////////////////////
// FREDDY'S HEAD
fill(255, 159, 25);
ellipseMode(CENTER);
ellipse(freddyX, freddyY-55, 50, 50);
//FREDDY'S EYES
noStroke();
fill(255);
ellipse(freddyX-10, freddyY-60, 10, 20);
ellipse(freddyX+10, freddyY-60, 10, 20);
fill(0);
ellipse(freddyX-10, freddyY-60, 10, 10);
ellipse(freddyX+10, freddyY-60, 10, 10);
// FREDDY'S HAT
strokeWeight(1);
stroke(89, 9, 178);
fill(9, 113, 178);
rect(freddyX-15, freddyY-100, freddyX+15, freddyY-70);
rect(freddyX-35, freddyY-80, freddyX+35, freddyY-70);
// FREDDY'S SMILE
noStroke();
//ellipse(175, 95, 20, 20);
fill(255);
arc(freddyX, freddyY-45, 20, 20, 0, PI);
// NECK AND BODY
fill(255, 159, 25);
rectMode(CENTER);
noStroke();
rect(freddyX, freddyY-25, 10, 10);
strokeWeight(1);
stroke(89, 9, 178);
fill(9, 113, 178);
ellipse(freddyX-45, freddyY-15, 50, 10);
ellipse(freddyX+45, freddyY-15, 50, 10);
rect(freddyX, freddyY+30, 10, 35);
rect(freddyX, freddyY, 60, 50);
}
void freddyBox() {
//// FREDDY'S BOX/////
strokeWeight(3);
stroke(51, 40, 39);
fill(84, 66, 64);
rect(170, 250, 150, 150);
fill(255);
rect(140, 220, 50, 50);
rect(200, 220, 50, 50);
triangle(random (105,120), 260, 170, 310, random(220,230), 260);
fill(0);
rect(fbX-30, 215, 20, 40);
rect(fbX+30, 215, 20, 40);
}
void mouseReleased() {
freddySpeed=0;
}