xxxxxxxxxx
753
//Sand.wav from https://freesound.org/people/f3bbbo/sounds/651292/
//Moat.wav from https://freesound.org/people/junggle/sounds/27360/
//Shell.wav from https://freesound.org/people/alegemaate/sounds/364709/
//Flag.wav from https://freesound.org/people/F.M.Audio/sounds/562404/
//Kelp.wav from https://freesound.org/people/F.M.Audio/sounds/563187/
//Claw.mp3 from https://freesound.org/people/redpanda69/sounds/520955/
//Wave.wav from https://freesound.org/people/Yarmonics/sounds/441852/
//Seagull.mp3 from https://freesound.org/people/Joker313/sounds/683400/
var steepleSlotX = 80;
var steepleSS = 0;
var steepleX = -100;
var steepleY = -100;
var wallSlotX = 110;
var wallSS = 0;
var wallX = -100;
var wallY = -100;
var tower1SlotX = 160;
var tower1SS = 0;
var tower1X = -100;
var tower1Y = -100;
var tower2SlotX = 190;
var tower2SS = 0;
var tower2X = -100;
var tower2Y = -100;
var moatSlotX = 220;
var moatSS = 0;
var moatX = -200;
var moatY = -100;
var shell1SlotX = 275;
var shell1SS = 0;
var shell1X = -100;
var shell1Y = -100;
var shell2SlotX = 315;
var shell2SS = 0;
var shell2X = -100;
var shell2Y = -100;
var flag1SlotX = 345;
var flag1SS = 0;
var flag1X = -100;
var flag1Y = -100;
var flag2SlotX = 370;
var flag2SS = 0;
var flag2X = -100;
var flag2Y = -100;
var kelp1SlotX = 400;
var kelp1SS = 0;
var kelp1X = -100;
var kelp1Y = -100;
var kelp2SlotX = 440;
var kelp2SS = 0;
var kelp2X = -100;
var kelp2Y = -100;
var claw1SlotX = 480;
var claw1SS = 0;
var claw1X = -100;
var claw1Y = -100;
var waveY = -3000; //for running
//var waveY = -200; //for building
var waveDir = 3;
//audio
var Sand;
var Moat;
var Shell;
var Flag;
var Kelp;
var Claw;
var Wave;
var Seagull;
function preload() {
Sand = loadSound("Sand.wav");
Moat = loadSound("Moat.wav");
Shell = loadSound("Shell.wav");
Flag = loadSound("Flag.wav");
Kelp = loadSound("Kelp.wav");
Claw = loadSound("Claw.mp3");
Wave = loadSound("Wave.wav");
Seagull = loadSound("Seagull.mp3");
}
function setup() {
createCanvas(600, 400);
}
function keyPressed() {
//Slots
if (keyCode === 49 && steepleSS != 1) {
steepleSlotX = -100;
steepleSS = 1;
} else if (keyCode === 50 && wallSS != 1) {
wallSlotX = -100;
wallSS = 1;
} else if (keyCode === 51 && tower1SS != 1) {
tower1SlotX = -100;
tower1SS = 1;
} else if (keyCode === 52 && tower2SS != 1) {
tower2SlotX = -100;
tower2SS = 1;
} else if (keyCode === 53 && moatSS != 1) {
moatSlotX = -100;
moatSS = 1;
} else if (keyCode === 54 && shell1SS != 1) {
shell1SlotX = -100;
shell1SS = 1;
} else if (keyCode === 55 && shell2SS != 1) {
shell2SlotX = -100;
shell2SS = 1;
} else if (keyCode === 56 && flag1SS != 1) {
flag1SlotX = -100;
flag1SS = 1;
} else if (keyCode === 57 && flag2SS != 1) {
flag2SlotX = -100;
flag2SS = 1;
} else if (keyCode === 48 && kelp1SS != 1) {
kelp1SlotX = -100;
kelp1SS = 1;
} else if (keyCode === 189 && kelp2SS != 1) {
kelp2SlotX = -100;
kelp2SS = 1;
} else if (keyCode === 187 && claw1SS != 1) {
claw1SlotX = -100;
claw1SS = 1;
}
//Pieces
if (keyCode === 49 && steepleSS == 1) {
steepleX = mouseX;
steepleY = mouseY;
Sand.play();
} else if (keyCode === 50 && wallSS == 1) {
wallX = mouseX;
wallY = mouseY;
Sand.play();
} else if (keyCode === 51 && tower1SS == 1) {
tower1X = mouseX;
tower1Y = mouseY;
Sand.play();
} else if (keyCode === 52 && tower2SS == 1) {
tower2X = mouseX;
tower2Y = mouseY;
Sand.play();
} else if (keyCode === 53 && moatSS == 1) {
moatX = mouseX;
moatY = mouseY;
Moat.play();
} else if (keyCode === 54 && shell1SS == 1) {
shell1X = mouseX;
shell1Y = mouseY;
Shell.play();
} else if (keyCode === 55 && shell2SS == 1) {
shell2X = mouseX;
shell2Y = mouseY;
Shell.play();
} else if (keyCode === 56 && flag1SS == 1) {
flag1X = mouseX;
flag1Y = mouseY;
Flag.play();
} else if (keyCode === 57 && flag2SS == 1) {
flag2X = mouseX;
flag2Y = mouseY;
Flag.play();
} else if (keyCode === 48 && kelp1SS == 1) {
kelp1X = mouseX;
kelp1Y = mouseY;
Kelp.play();
} else if (keyCode === 189 && kelp2SS == 1) {
kelp2X = mouseX;
kelp2Y = mouseY;
Kelp.play();
} else if (keyCode === 187 && claw1SS == 1) {
claw1X = mouseX;
claw1Y = mouseY;
Claw.play();
}
}
function draw() {
//Seagull call
if (random(4000) > 3999) {
Seagull.play();
}
//sand
background(194, 178, 128);
fill(128, 70, 27);
noStroke();
rect(30, 100, 5);
rect(70, 380, 5);
rect(120, 300, 5);
rect(185, 200, 5);
rect(200, 50, 5);
rect(260, 380, 5);
rect(295, 170, 5);
rect(380, 10, 5);
rect(430, 240, 5);
rect(500, 140, 5);
rect(580, 350, 5);
fill(72);
rect(10, 10, 5);
rect(65, 260, 5);
rect(110, 360, 5);
rect(150, 40, 5);
rect(170, 260, 5);
rect(230, 320, 5);
rect(280, 115, 5);
rect(315, 250, 5);
rect(370, 340, 5);
rect(445, 60, 5);
rect(490, 190, 5);
rect(570, 245, 5);
//inventory
//steeple icon
fill(0, 140);
rect(50, 340, 480, 50);
fill(194, 178, 128);
rect(steepleSlotX, 360, 15, 20);
rect(steepleSlotX, 355, 5);
rect(steepleSlotX + 10, 355, 5);
fill(0, 100);
rect(steepleSlotX + 5, 365, 5);
//wall icon
fill(194, 178, 128);
rect(wallSlotX, 360, 30, 20);
//tower1 icon
rect(tower1SlotX, 360, 10, 20);
rect(tower1SlotX - 5, 355, 5, 10);
rect(tower1SlotX + 10, 355, 5, 10);
//tower2 icon
rect(tower2SlotX, 360, 10, 20);
rect(tower2SlotX - 5, 355, 5, 10);
rect(tower2SlotX + 10, 355, 5, 10);
//moat icon
fill(0, 150, 255);
rect(moatSlotX, 360, 5, 15);
rect(moatSlotX + 5, 360, 30, 5);
rect(moatSlotX + 5, 370, 30, 5);
rect(moatSlotX + 35, 360, 5, 15);
//shell1 icon
fill(255, 182, 193);
rect(shell1SlotX, 370, 10);
rect(shell1SlotX + 10, 365, 5, 10);
rect(shell1SlotX + 15, 360, 5, 10);
//shell2 icon
fill(173, 216, 230);
rect(shell2SlotX, 375, 10, 5);
rect(shell2SlotX - 5, 360, 20, 15);
//flag1 icon
fill(128, 70, 27);
rect(flag1SlotX, 355, 5, 25);
fill(255, 0, 0);
rect(flag1SlotX + 5, 355, 5, 10);
rect(flag1SlotX + 10, 355, 5);
//flag2 icon
fill(128, 70, 27);
rect(flag2SlotX, 355, 5, 25);
fill(180, 0, 255);
rect(flag2SlotX + 5, 355, 5, 10);
rect(flag2SlotX + 10, 355, 5);
//kelp1 icon
fill(1, 80, 32);
rect(kelp1SlotX, 375, 5);
rect(kelp1SlotX + 5, 365, 5, 15);
rect(kelp1SlotX + 10, 360, 5, 10);
rect(kelp1SlotX + 15, 360, 5);
fill(139, 128, 0);
rect(kelp1SlotX, 360, 5);
rect(kelp1SlotX + 10, 375, 5);
rect(kelp1SlotX + 20, 365, 5);
rect(kelp1SlotX + 20, 355, 5);
//kelp2 icon
fill(1, 80, 32);
rect(kelp2SlotX + 15, 375, 10, 5);
rect(kelp2SlotX + 5, 370, 15, 5);
rect(kelp2SlotX + 5, 355, 5, 15);
rect(kelp2SlotX, 360, 5);
fill(139, 128, 0);
rect(kelp2SlotX, 365, 5);
rect(kelp2SlotX, 375, 5);
rect(kelp2SlotX + 10, 355, 5);
rect(kelp2SlotX + 20, 365, 5);
//claw1 icon
fill(255, 140, 0);
rect(claw1SlotX, 355, 5, 15);
rect(claw1SlotX + 5, 365, 5, 10);
rect(claw1SlotX + 5, 355, 5);
rect(claw1SlotX + 10, 370, 5);
rect(claw1SlotX + 15, 360, 5, 15);
//Castle Pieces
//moat
fill(0, 150, 255);
rect(moatX - 125, moatY + 15, 250, 20);
rect(moatX - 135, moatY + 10, 15, 20);
rect(moatX - 140, moatY, 15, 25);
rect(moatX - 145, moatY - 35, 15, 55);
rect(moatX - 140, moatY - 40, 15, 25);
rect(moatX - 135, moatY - 45, 15, 20);
rect(moatX - 125, moatY - 50, 250, 20);
rect(moatX + 120, moatY + 10, 15, 20);
rect(moatX + 125, moatY, 15, 25);
rect(moatX + 130, moatY - 35, 15, 55);
rect(moatX + 125, moatY - 40, 15, 25);
rect(moatX + 120, moatY - 45, 15, 20);
//Steeple
fill(194, 178, 128);
rect(steepleX - 25, steepleY + 15, 45, 15);
rect(steepleX - 20, steepleY - 15, 35, 30);
rect(steepleX - 15, steepleY - 35, 25, 20);
rect(steepleX - 15, steepleY - 40, 5);
rect(steepleX + 5, steepleY - 40, 5);
fill(0, 100);
rect(steepleX - 10, steepleY - 25, 15);
rect(steepleX - 5, steepleY - 30, 5);
fill(128, 70, 27);
rect(steepleX - 30, steepleY + 15, 5, 20);
rect(steepleX - 25, steepleY + 30, 45, 5);
rect(steepleX + 20, steepleY + 15, 5, 20);
rect(steepleX - 25, steepleY - 15, 5, 30);
rect(steepleX + 15, steepleY - 15, 5, 30);
rect(steepleX - 20, steepleY - 40, 5, 25);
rect(steepleX + 10, steepleY - 40, 5, 25);
rect(steepleX - 20, steepleY - 45, 10, 5);
rect(steepleX + 5, steepleY - 45, 10, 5);
rect(steepleX - 10, steepleY - 40, 15, 5);
rect(steepleX - 10, steepleY - 10, 5);
rect(steepleX - 20, steepleY + 15, 5);
rect(steepleX + 15, steepleY + 20, 5);
fill(72);
rect(steepleX + 5, steepleY - 35, 5);
rect(steepleX - 20, steepleY - 30, 5);
rect(steepleX + 10, steepleY - 5, 5);
rect(steepleX - 30, steepleY + 30, 5);
//wall
fill(194, 178, 128);
rect(wallX - 90, wallY - 15, 185, 45);
rect(wallX - 90, wallY - 20, 10, 5);
rect(wallX - 65, wallY - 20, 15, 5);
rect(wallX - 35, wallY - 20, 15, 5);
rect(wallX - 5, wallY - 20, 15, 5);
rect(wallX + 25, wallY - 20, 15, 5);
rect(wallX + 55, wallY - 20, 15, 5);
rect(wallX + 85, wallY - 20, 15, 5);
fill(128, 70, 27);
rect(wallX - 95, wallY + 30, 195, 5);
rect(wallX - 95, wallY - 20, 5, 50);
rect(wallX + 95, wallY - 20, 5, 50);
rect(wallX - 95, wallY - 25, 15, 5);
rect(wallX - 80, wallY - 20, 15, 5);
rect(wallX - 65, wallY - 25, 15, 5);
rect(wallX - 50, wallY - 20, 15, 5);
rect(wallX - 35, wallY - 25, 15, 5);
rect(wallX - 20, wallY - 20, 15, 5);
rect(wallX - 5, wallY - 25, 15, 5);
rect(wallX + 10, wallY - 20, 15, 5);
rect(wallX + 25, wallY - 25, 15, 5);
rect(wallX + 40, wallY - 20, 15, 5);
rect(wallX + 55, wallY - 25, 15, 5);
rect(wallX + 70, wallY - 20, 15, 5);
rect(wallX + 85, wallY - 25, 15, 5);
rect(wallX + 25, wallY - 15, 5);
rect(wallX + 55, wallY + 10, 5);
rect(wallX - 25, wallY + 20, 5);
rect(wallX + 85, wallY - 10, 5);
rect(wallX - 45, wallY, 5);
rect(wallX - 65, wallY + 25, 5);
rect(wallX - 85, wallY + 15, 5);
fill(72);
rect(wallX - 75, wallY - 10, 5);
rect(wallX - 55, wallY - 20, 5);
rect(wallX - 5, wallY - 5, 5);
rect(wallX + 15, wallY + 25, 5);
rect(wallX + 40, wallY, 5);
rect(wallX + 90, wallY + 20, 5);
rect(wallX + 55, wallY - 25, 5);
rect(wallX - 35, wallY + 30, 5);
rect(wallX + 70, wallY + 30, 5);
rect(wallX - 95, wallY, 5);
//tower1
fill(194, 178, 128);
rect(tower1X - 20, tower1Y + 60, 40, 5);
rect(tower1X - 15, tower1Y - 10, 30, 70);
rect(tower1X - 20, tower1Y - 20, 40, 10);
rect(tower1X - 35, tower1Y - 40, 70, 15);
fill(128, 70, 27);
rect(tower1X - 20, tower1Y - 10, 5, 70);
rect(tower1X + 15, tower1Y - 10, 5, 70);
rect(tower1X - 25, tower1Y + 60, 5, 10);
rect(tower1X + 20, tower1Y + 60, 5, 10);
rect(tower1X - 20, tower1Y + 65, 40, 5);
rect(tower1X - 25, tower1Y - 20, 5, 15);
rect(tower1X + 20, tower1Y - 20, 5, 15);
rect(tower1X - 30, tower1Y - 20, 5);
rect(tower1X + 25, tower1Y - 20, 5);
rect(tower1X - 40, tower1Y - 25, 80, 5);
rect(tower1X - 40, tower1Y - 45, 5, 20);
rect(tower1X + 35, tower1Y - 45, 5, 20);
rect(tower1X - 35, tower1Y - 40, 10, 5);
rect(tower1X - 25, tower1Y - 45, 10, 5);
rect(tower1X - 15, tower1Y - 40, 10, 5);
rect(tower1X - 5, tower1Y - 45, 10, 5);
rect(tower1X + 5, tower1Y - 40, 10, 5);
rect(tower1X + 15, tower1Y - 45, 10, 5);
rect(tower1X + 25, tower1Y - 40, 10, 5);
rect(tower1X - 20, tower1Y - 35, 5);
rect(tower1X + 25, tower1Y - 30, 5);
rect(tower1X + 5, tower1Y - 15, 5);
rect(tower1X - 15, tower1Y + 10, 5);
rect(tower1X + 10, tower1Y + 45, 5);
rect(tower1X - 15, tower1Y + 60, 5);
fill(72);
rect(tower1X - 40, tower1Y - 40, 5);
rect(tower1X + 15, tower1Y - 25, 5);
rect(tower1X - 25, tower1Y - 10, 5);
rect(tower1X - 10, tower1Y + 35, 5);
rect(tower1X + 15, tower1Y + 65, 5);
rect(tower1X + 5, tower1Y - 35, 5);
//tower2
fill(194, 178, 128);
rect(tower2X - 20, tower2Y + 60, 40, 5);
rect(tower2X - 15, tower2Y - 10, 30, 70);
rect(tower2X - 20, tower2Y - 20, 40, 10);
rect(tower2X - 35, tower2Y - 40, 70, 15);
fill(128, 70, 27);
rect(tower2X - 20, tower2Y - 10, 5, 70);
rect(tower2X + 15, tower2Y - 10, 5, 70);
rect(tower2X - 25, tower2Y + 60, 5, 10);
rect(tower2X + 20, tower2Y + 60, 5, 10);
rect(tower2X - 20, tower2Y + 65, 40, 5);
rect(tower2X - 25, tower2Y - 20, 5, 15);
rect(tower2X + 20, tower2Y - 20, 5, 15);
rect(tower2X - 30, tower2Y - 20, 5);
rect(tower2X + 25, tower2Y - 20, 5);
rect(tower2X - 40, tower2Y - 25, 80, 5);
rect(tower2X - 40, tower2Y - 45, 5, 20);
rect(tower2X + 35, tower2Y - 45, 5, 20);
rect(tower2X - 35, tower2Y - 40, 10, 5);
rect(tower2X - 25, tower2Y - 45, 10, 5);
rect(tower2X - 15, tower2Y - 40, 10, 5);
rect(tower2X - 5, tower2Y - 45, 10, 5);
rect(tower2X + 5, tower2Y - 40, 10, 5);
rect(tower2X + 15, tower2Y - 45, 10, 5);
rect(tower2X + 25, tower2Y - 40, 10, 5);
rect(tower2X - 20, tower2Y - 35, 5);
rect(tower2X + 25, tower2Y - 30, 5);
rect(tower2X + 5, tower2Y - 15, 5);
rect(tower2X - 15, tower2Y + 10, 5);
rect(tower2X + 10, tower2Y + 45, 5);
rect(tower2X - 15, tower2Y + 60, 5);
fill(72);
rect(tower2X - 40, tower2Y - 40, 5);
rect(tower2X + 15, tower2Y - 25, 5);
rect(tower2X - 25, tower2Y - 10, 5);
rect(tower2X - 10, tower2Y + 35, 5);
rect(tower2X + 15, tower2Y + 65, 5);
rect(tower2X + 5, tower2Y - 35, 5);
//flag1
fill(128, 70, 27);
rect(flag1X, flag1Y - 60, 5, 60);
rect(flag1X - 5, flag1Y - 65, 15, 5);
fill(255, 0, 0);
rect(flag1X + 5, flag1Y - 60, 15);
rect(flag1X + 20, flag1Y - 55, 10);
rect(flag1X + 30, flag1Y - 55, 10, 5);
rect(flag1X + 35, flag1Y - 60, 15, 5);
//flag2
fill(128, 70, 27);
rect(flag2X, flag2Y - 60, 5, 60);
rect(flag2X - 5, flag2Y - 65, 15, 5);
fill(180, 0, 255);
rect(flag2X + 5, flag2Y - 60, 15);
rect(flag2X + 20, flag2Y - 55, 10);
rect(flag2X + 30, flag2Y - 55, 10, 5);
rect(flag2X + 35, flag2Y - 60, 15, 5);
//shell1
fill(255, 182, 193);
rect(shell1X - 20, shell1Y + 10, 20, 5);
rect(shell1X - 15, shell1Y + 5, 20, 5);
rect(shell1X - 10, shell1Y, 15, 5);
rect(shell1X - 10, shell1Y - 5, 20, 5);
rect(shell1X - 5, shell1Y - 10, 20, 5);
rect(shell1X + 10, shell1Y - 15, 5);
fill(255, 100);
rect(shell1X - 15, shell1Y + 5, 10, 5);
rect(shell1X - 5, shell1Y - 5, 15, 5);
rect(shell1X - 5, shell1Y - 10, 5);
rect(shell1X + 10, shell1Y - 15, 5);
fill(0, 100);
rect(shell1X - 10, shell1Y + 10, 10, 5);
rect(shell1X - 5, shell1Y + 5, 10, 5);
//shell2
fill(173, 216, 230);
rect(shell2X - 10, shell2Y + 15, 20, 5);
rect(shell2X - 5, shell2Y + 10, 10, 5);
rect(shell2X - 10, shell2Y - 15, 20, 25);
rect(shell2X - 15, shell2Y - 10, 30, 15);
//kelp1
fill(1, 80, 32);
rect(kelp1X - 15, kelp1Y + 30, 10, 5);
rect(kelp1X - 10, kelp1Y + 15, 5, 15);
rect(kelp1X - 5, kelp1Y + 15, 15, 5);
rect(kelp1X + 10, kelp1Y + 20, 5);
rect(kelp1X, kelp1Y + 5, 5, 10);
rect(kelp1X - 5, kelp1Y - 5, 5, 15);
rect(kelp1X - 15, kelp1Y - 5, 10, 5);
rect(kelp1X + 5, kelp1Y - 15, 5, 25);
rect(kelp1X, kelp1Y - 25, 5, 15);
rect(kelp1X - 5, kelp1Y - 35, 5, 15);
rect(kelp1X + 10, kelp1Y - 35, 5, 15);
fill(139, 128, 0);
rect(kelp1X + 10, kelp1Y + 25, 5);
rect(kelp1X + 5, kelp1Y + 20, 5);
rect(kelp1X - 10, kelp1Y + 10, 5);
rect(kelp1X + 10, kelp1Y + 5, 5);
rect(kelp1X - 15, kelp1Y, 5);
rect(kelp1X - 5, kelp1Y - 10, 5);
rect(kelp1X + 10, kelp1Y - 10, 5);
rect(kelp1X + 5, kelp1Y - 25, 5);
rect(kelp1X - 10, kelp1Y - 30, 5);
rect(kelp1X + 5, kelp1Y - 35, 5);
//kelp2
fill(1, 80, 32);
rect(kelp2X + 25, kelp2Y + 65, 5);
rect(kelp2X + 20, kelp2Y + 60, 10, 5);
rect(kelp2X + 15, kelp2Y + 50, 5, 10);
rect(kelp2X + 10, kelp2Y + 45, 20, 5);
rect(kelp2X + 25, kelp2Y + 40, 5);
rect(kelp2X + 10, kelp2Y + 35, 5, 10);
rect(kelp2X + 5, kelp2Y + 30, 15, 5);
rect(kelp2X, kelp2Y + 35, 5, 10);
rect(kelp2X + 15, kelp2Y + 20, 5, 10);
rect(kelp2X + 10, kelp2Y + 15, 15, 5);
rect(kelp2X, kelp2Y + 10, 15, 5);
rect(kelp2X + 20, kelp2Y, 5, 20);
fill(139, 128, 0);
rect(kelp2X + 15, kelp2Y, 5);
rect(kelp2X + 5, kelp2Y + 5, 5);
rect(kelp2X + 5, kelp2Y + 20, 5);
rect(kelp2X + 25, kelp2Y + 15, 5);
rect(kelp2X + 20, kelp2Y + 25, 5);
rect(kelp2X + 5, kelp2Y + 35, 5);
rect(kelp2X + 20, kelp2Y + 35, 5);
rect(kelp2X + 15, kelp2Y + 40, 5);
rect(kelp2X, kelp2Y + 45, 5);
rect(kelp2X + 10, kelp2Y + 50, 5);
rect(kelp2X + 20, kelp2Y + 55, 5);
//claw1
fill(255, 140, 0);
rect(claw1X, claw1Y + 5, 5, 15);
rect(claw1X + 5, claw1Y + 15, 5);
rect(claw1X + 10, claw1Y + 10, 5, 20);
rect(claw1X + 15, claw1Y + 5, 5, 40);
rect(claw1X + 20, claw1Y + 40, 5);
fill(255);
rect(claw1X + 5, claw1Y + 20, 5, 15);
rect(claw1X + 10, claw1Y + 30, 5, 15);
rect(claw1X + 5, claw1Y + 40, 5);
fill(0);
rect(claw1X, claw1Y, 5);
rect(claw1X + 15, claw1Y, 5);
waveY += waveDir; //turn on to run and off to build
if (waveY >= 0) {
waveDir *= -1;
steepleSlotX = 80;
steepleSS = 0;
steepleX = -100;
steepleY = -100;
wallSlotX = 110;
wallSS = 0;
wallX = -100;
wallY = -100;
tower1SlotX = 160;
tower1SS = 0;
tower1X = -100;
tower1Y = -100;
tower2SlotX = 190;
tower2SS = 0;
tower2X = -100;
tower2Y = -100;
moatSlotX = 220;
moatSS = 0;
moatX = -200;
moatY = -100;
shell1SlotX = 275;
shell1SS = 0;
shell1X = -100;
shell1Y = -100;
shell2SlotX = 315;
shell2SS = 0;
shell2X = -100;
shell2Y = -100;
flag1SlotX = 345;
flag1SS = 0;
flag1X = -100;
flag1Y = -100;
flag2SlotX = 370;
flag2SS = 0;
flag2X = -100;
flag2Y = -100;
kelp1SlotX = 400;
kelp1SS = 0;
kelp1X = -100;
kelp1Y = -100;
kelp2SlotX = 440;
kelp2SS = 0;
kelp2X = -100;
kelp2Y = -100;
claw1SlotX = 480;
claw1SS = 0;
claw1X = -100;
claw1Y = -100;
}
if (waveY <= -3000) {
waveDir *= -1;
}
if (waveY == -300 && waveDir == 3) {
Wave.play();
}
//wave
fill(0, 150, 255);
rect(0, waveY, 700, 400);
rect(0, waveY + 400, 60, 5);
rect(100, waveY + 400, 120, 5);
rect(260, waveY + 400, 120, 5);
rect(420, waveY + 400, 120, 5);
rect(580, waveY + 400, 120, 5);
rect(0, waveY + 405, 45, 5);
rect(115, waveY + 405, 90, 5);
rect(275, waveY + 405, 90, 5);
rect(435, waveY + 405, 90, 5);
rect(595, waveY + 405, 90, 5);
rect(0, waveY + 410, 35, 5);
rect(125, waveY + 410, 70, 5);
rect(285, waveY + 410, 70, 5);
rect(445, waveY + 410, 70, 5);
rect(605, waveY + 410, 70, 5);
rect(0, waveY + 415, 30, 5);
rect(130, waveY + 415, 60, 5);
rect(290, waveY + 415, 60, 5);
rect(450, waveY + 415, 60, 5);
rect(610, waveY + 415, 60, 5);
rect(0, waveY + 420, 20, 5);
rect(140, waveY + 420, 40, 5);
rect(300, waveY + 420, 40, 5);
rect(460, waveY + 420, 40, 5);
rect(620, waveY + 420, 40, 5);
//end foam
fill(255);
rect(0, waveY + 425, 25, 10);
rect(20, waveY + 420, 15, 10);
rect(30, waveY + 415, 10);
rect(35, waveY + 410, 15, 10);
rect(45, waveY + 405, 20, 10);
rect(60, waveY + 400, 40, 10);
rect(95, waveY + 405, 20, 10);
rect(110, waveY + 410, 15, 10);
rect(120, waveY + 415, 10);
rect(125, waveY + 420, 15, 10);
rect(135, waveY + 425, 50, 10);
rect(180, waveY + 420, 15, 10);
rect(190, waveY + 415, 10);
rect(195, waveY + 410, 15, 10);
rect(205, waveY + 405, 20, 10);
rect(220, waveY + 400, 40, 10);
rect(255, waveY + 405, 20, 10);
rect(270, waveY + 410, 15, 10);
rect(280, waveY + 415, 10);
rect(285, waveY + 420, 15, 10);
rect(295, waveY + 425, 50, 10);
rect(340, waveY + 420, 15, 10);
rect(350, waveY + 415, 10);
rect(355, waveY + 410, 15, 10);
rect(365, waveY + 405, 20, 10);
rect(380, waveY + 400, 40, 10);
rect(415, waveY + 405, 20, 10);
rect(430, waveY + 410, 15, 10);
rect(440, waveY + 415, 10);
rect(445, waveY + 420, 15, 10);
rect(455, waveY + 425, 50, 10);
rect(500, waveY + 420, 15, 10);
rect(510, waveY + 415, 10);
rect(515, waveY + 410, 15, 10);
rect(525, waveY + 405, 20, 10);
rect(540, waveY + 400, 40, 10);
rect(575, waveY + 405, 20, 10);
rect(590, waveY + 410, 15, 10);
//foam bits
rect(-30, waveY + 290, 10);
rect(-25, waveY + 295, 10);
rect(-15, waveY + 300, 50, 10);
rect(35, waveY + 295, 10);
rect(40, waveY + 290, 10);
rect(125, waveY + 320, 10);
rect(130, waveY + 325, 10);
rect(140, waveY + 330, 50, 10);
rect(190, waveY + 325, 10);
rect(195, waveY + 320, 10);
rect(270, waveY + 290, 10);
rect(275, waveY + 295, 10);
rect(285, waveY + 300, 50, 10);
rect(335, waveY + 295, 10);
rect(340, waveY + 290, 10);
rect(415, waveY + 320, 10);
rect(420, waveY + 325, 10);
rect(430, waveY + 330, 50, 10);
rect(480, waveY + 325, 10);
rect(485, waveY + 320, 10);
rect(560, waveY + 290, 10);
rect(565, waveY + 295, 10);
rect(575, waveY + 300, 50, 10);
//Deep water
fill(0, 0, 255);
rect(0, waveY, 700, 150);
rect(0, waveY + 150, 70, 5);
rect(0, waveY + 155, 55, 5);
rect(0, waveY + 160, 45, 5);
rect(0, waveY + 165, 40, 5);
rect(0, waveY + 170, 30, 5);
rect(110, waveY + 150, 120, 5);
rect(125, waveY + 155, 90, 5);
rect(135, waveY + 160, 70, 5);
rect(140, waveY + 165, 60, 5);
rect(150, waveY + 170, 40, 5);
rect(270, waveY + 150, 120, 5);
rect(285, waveY + 155, 90, 5);
rect(295, waveY + 160, 70, 5);
rect(300, waveY + 165, 60, 5);
rect(310, waveY + 170, 40, 5);
rect(430, waveY + 150, 120, 5);
rect(445, waveY + 155, 90, 5);
rect(455, waveY + 160, 70, 5);
rect(460, waveY + 165, 60, 5);
rect(470, waveY + 170, 40, 5);
rect(590, waveY + 150, 120, 5);
}