- /*
-
- Blinken - By: P.Y. Boulerice
-
- /////////////////////////////////////////////////////////////////////////////
- Play as a small enthusiastic cube as he tries to put his world back together.
- An unknown enemy has wripped it appart. Find him. Destroy him. And restore
- balance. Goodluck young one!
- /////////////////////////////////////////////////////////////////////////////
- */
-
- // Variables
- float x;
- float y;
-
- boolean playerBlink = false;
- float blinkUnit = 0;
- boolean jumping = false;
- boolean jumpStatus = false;
- float jump = 0;
-
- // Door Keys
- boolean door1 = false; // to world2
- boolean door2 = false; // key
- boolean door3 = false; // to boss1
- boolean door4 = false; // to world1
- boolean door5 = false;
-
- // Notifications
- float notif = 0;
- float notifY = 480;
- float notifTimer = 0;
- boolean notifSwitch = false;
-
- // CHARACTERS
-
- // Stalker
- float stalkerX = 550;
- float stalkerY = 240;
- float stalkerSize = 80;
- boolean stalkerApple = false;
- boolean stalkerBlink = false;
- float stalkerBlinkUnit = 0;
-
- // Boss
- float bossX = 260;
- float bossY = 0;
- float bossSize = 200;
- boolean bossBlink = false;
- float bossBlinkUnit = 0;
- boolean fistSmash = false;
- float fistState = 0;
- float fistY = 40;
- float fistX = 0;
- float fistAcc = 1;
- float bossHealth = 3;
-
- // Boss Switch
- boolean bossHurtDown = false;
- boolean bossSwitchDir = false;
- float bossSwitchSize = 20;
- float bossSwitchX = 150;
- boolean bossSwitchTriggered = false;
-
- // Boss Explosion
- float explosionStage = 0;
- float explosionSize = 200;
- float explosionTimer = 0;
-
- // Mentor
- float mentorX = 0;
- float mentorY = 240;
- boolean mentorBlink = false;
- float mentorBlinkUnit = 0;
- float mentorSize = 40;
-
-
- // Story
- boolean story = false;
- float storyStage = 2;
- float storyTimer = 0;
-
- // Character is notified that he or she needs a key a the watchpoint.
- boolean storyEvent1 = false;
-
- // Screen Animation
- float sa = 0;
-
- // Spike
- boolean spikeDirection = true;
- float spike1X = 0;
- float spike1Y = 0;
- float spike1Acc = 1;
- boolean spikeCanDie = false;
-
- // Box 1
- float box1X;
- float box1Y;
- float box1DoorSize;
- float box1Size = 50;
-
- // EvilBall1_1
- float eb1X = 550;
- float eb1Y = 100;
- float eb1YV = 1;
- float eb1Size = 30;
- float eb2Size = 30;
- float eb3Size = 30;
- boolean eb1JumpDir = false;
-
- // Building1_1
- float build1_1X = 650;
- float build1_1Y = 240;
- float build1_1Size = 50;
- float build1_1DoorSize = 0;
-
- // WatchPoint1_1
- float watchPoint1_1X = -100;
- float watchPoint1_1Y = 240;
- float watchPoint1_1Size = 40;
- float watchPoint1_1DoorSize = 0;
-
- // Box 2
- float box2X;
- float box2Y;
- float box2DoorSize;
- float box2Size = 50;
-
- // Box 3
- float box3X;
- float box3Y;
- float box3DoorSize;
- float box3Size = 50;
-
- // Apples
- float apple1X = -500;
- float apple1Y = 250;
-
- float targetX;
- float targetY;
- boolean globalMove;
- float allMover;
- float dir;
- boolean playerMoving;
- float center;
-
- float speed;
-
- color currentColor = color(#90AEFF);
- color hoverColor = 0;
-
-
- boolean doorContact = false;
- boolean fillr = false;
-
- float world = -1;
- float worldSave = -1;
-
- // Colors
- color world1Color = color(0);
- color world2Color = color(0);
- color world3Color = color(0);
- color world4Color = color(0);
-
- // Maintains
- float mountX = 0;
- float mountY = 240;
-
- void setup()
- {
- size(720, 480);
-
- noStroke();
-
- // variables
- x = width / 2;
- y = height / 2;
-
- // box 1
- box1X = 200;
- box1Y = height / 2;
- box1DoorSize = 0;
-
- // box 2
- box2X = 900;
- box2Y = height / 2;
- box2DoorSize = 0;
-
- // box 3
- box3X = -200;
- box3Y = height / 2;
- box3DoorSize = 0;
-
- center = (width / 2) - 10;
-
- globalMove = false;
- dir = 0;
- allMover = 0;
-
- targetX = -1.;
- targetY = -1.;
-
- playerMoving = false;
- speed = 5.;
-
- // Boss
- fistX = width / 2;
-
- //A52445
- //F3921E
- //CD4544
- //470B37
- //05C096 //048D6E //024032
- //8D7D4A
-
- world1Color = color(#470B37);
- world2Color = color(#F3921E);
- world3Color = color(#05C096);
- world4Color = color(#A52445);
-
- currentColor = 0;
- background(#05C096);
- }
-
- void draw()
- {
- // HOUSEKEEPING
- houseKeeping();
- //background(#A52445);
- //javaTest();
-
- // Watch Points
- watchPoint1_1();
-
- // Secret Door to Gun
-
- // Boss
-
- // Spikes
- spikeEngine();
- spike2(spike1X + 100);
- spike2(spike1X + 70);
- spike2(spike1X + 40);
-
- // BOX PORTALS BETWEEN WORLDS
- box1();
- box2();
- box3();
-
- build1_1();
-
- //EvilBall
- evilBallEngine();
-
- evilBall1((eb1X + 1));
- evilBall1((eb1X - 500));
-
- evilBall3(100);
- evilBall3(620);
-
- // Items and Keys
- apple1();
-
- // World Stuff
- mountains();
-
- // Boss
- bossSwitch();
- boss();
- bossExplosion();
-
- // Stalker
- stalker1();
-
- // Floor
- if (world > -1)
- {
- player();
- }
-
- if (world > 0)
- {
- fill(255, 50);
- for (int i = 0; i < 730; i+=5)
- {
- rect(i, height/2 + 20, 4, 4);
- }
- }
-
- // Characters
- characterMentor((width / 2) - 50., mentorY);
-
- // Story Engine
- storyEngine();
-
- // Notifications
- notifications();
-
- // World 4 Fade in Screen Animation (SA)
- world4();
-
- // Dead
- dead();
-
- // Pause Menu
- pause();
-
- // Menu
- menu();
-
- // Player Clasping
- playerClasping();
- }
-
- void reset()
- {
- x = width / 2;
- y = height / 2;
- playerBlink = false;
- blinkUnit = 0;
- jumping = false;
- jumpStatus = false;
- jump = 0;
-
- // Story
- story = false;
-
- // Spike
- spikeDirection = true;
-
- // Stalker
- stalkerX = 550;
- stalkerY = 240;
- stalkerSize = 80;
- stalkerBlink = false;
- stalkerBlinkUnit = 0;
-
- // Mentor
- mentorX = 0;
- mentorY = 240;
- mentorBlink = false;
- mentorBlinkUnit = 0;
-
- // Box 1
- box1X = 200;
- box1Y = height / 2;
- box1DoorSize = 0;
- box1Size = 0;
-
- // EvilBall1_1
- eb1X = 550;
- eb1Y = 100;
- eb1YV = 1;
- eb1Size = 30;
- eb1JumpDir = false;
-
- // Spikes
- spikeDirection = true;
- spike1X = 0;
- spike1Y = 0;
- spike1Acc = 1;
- spikeCanDie = false;
-
- // Building1_1
- build1_1X = 650;
- build1_1Y = 240;
- build1_1Size = 50;
- build1_1DoorSize = 0;
-
- // WatchPoint1_1
- watchPoint1_1X = -100;
- watchPoint1_1Y = 240;
- watchPoint1_1Size = 40;
- watchPoint1_1DoorSize = 0;
-
- // Box 2
- box2X = 800;
- box2Y = height / 2;
- box2DoorSize = 0;
- box2Size = 0;
-
- // Box 3
- box3X = -50;
- box3Y = height / 2;
- box3DoorSize = 0;
- box3Size = 50;
-
- // Apples
- apple1X = -500;
- apple1Y = 250;
-
- targetX = -1.;
- targetY = -1.;
- globalMove = false;
- allMover = 0;
- dir = 0;
- playerMoving = false;
- center = (width / 2) - 10;
-
- speed = 5.;
-
- // Boss
- fistX = width / 2;
- bossHealth = 3;
-
- currentColor = color(0);
- hoverColor = 0;
-
- doorContact = false;
- fillr = false;
-
- world = 1;
-
- // Maintains
- mountX = 0;
- mountY = 240;
- }
-
- void houseKeeping()
- {
- background(currentColor);
-
- if (world == 1)
- {
- currentColor = world1Color;
- } else if (world == 2)
- {
- currentColor = world2Color;
- } else if (world == 3)
- {
- currentColor = world3Color;
- } else if (world == 4)
- {
- currentColor = world4Color;
- }
- }
-
- void playerClasping()
- {
- if (world == 2)
- {
- if (stalkerApple == false)
- {
- if (x > stalkerX - 50)
- {
- targetX = stalkerX - 50;
-
- // Push Notification
- notifSwitch = true;
- notifTimer = 0;
- notif = 3;
- }
- } else if (door5 == true)
- {
- if (x > stalkerX - 70)
- {
- door5 = false;
- }
- }
- }
- }
-
- void storyEngine()
- {
- if (story == true)
- {
- if (storyStage == 1)
- {
- playerMoving = true;
- if (world == 1)
- {
- storyTimer++;
- if (storyTimer < 400)
- {
- fill(255);
- textSize(18);
- text("This world is unstable. It has been fractured!?!", 250, 380);
- } else if (storyTimer > 400 && storyTimer < 800)
- {
- fill(255);
- textSize(18);
- text("Travel through it's broken pieces using the", 250, 380);
- text("'Portalways'. SOLVE THIS IMPOSSIBILITY!", 250, 400);
- } else if (storyTimer > 800 && storyTimer < 1100)
- {
- fill(255);
- textSize(18);
- text("Use 'e' to interact with things.", 250, 380);
- text("Also, click around to move.", 250, 400);
- } else if (storyTimer > 1100)
- {
- story = false;
- storyStage = 2;
- storyTimer = 0;
- playerMoving = false;
- }
- }
- } else if (storyStage == 2)
- {
- playerMoving = true;
- if (world == 1)
- {
- storyTimer++;
- if (storyTimer < 400)
- {
- if (globalMove == false && targetX == -1.)
- {
- fill(255);
- textSize(18);
- text("You have found your first Portalway!", 250, 380);
- text("Go on... Explore! (use 'E' to interact)", 250, 400);
- }
- } else if (storyTimer > 400)
- {
- playerMoving = false;
- story = false;
- storyStage = 2;
- storyTimer = 0;
- notifTimer = 0;
- notif = 1;
- notifSwitch = true;
- }
- }
- } else if (storyStage == 3)
- {
- playerMoving = true;
- if (world == 2)
- {
- storyTimer++;
- if (storyTimer < 400)
- {
- if (globalMove == false && targetX == -1.)
- {
- fill(255);
- textSize(18);
- text("You need a key to unlock that...", 250, 380);
- text("Try going the other way...", 250, 400);
- }
- } else if (storyTimer > 400)
- {
- playerMoving = false;
- story = false;
- storyStage = 3;
- storyTimer = 0;
- }
- }
- } else if (storyStage == 4)
- {
- playerMoving = true;
- if (world == 4)
- {
- storyTimer++;
- if (storyTimer < 400)
- {
- if (globalMove == false && targetX == -1.)
- {
- fill(255);
- textSize(18);
- text("You did it... You really did it...", 250, 380);
- text("But how???", 250, 400);
- }
- } else if (storyTimer > 400 && storyTimer < 800)
- {
- fill(255);
- textSize(18);
- text("JUST KIDDING YOU FOOL!", 250, 380);
- text("NOW YOU ARE STUCK IN THE ABYSS!", 250, 400);
- } else if (storyTimer > 800 && storyTimer < 1000)
- {
- fill(255);
- textSize(18);
- text("PEACE!!!!!!", 250, 380);
- } else if (storyTimer > 1000)
- {
- playerMoving = false;
- story = false;
- storyStage = 3;
- storyTimer = 0;
- }
- }
- }
- }
- }
-
- void characterMentor(float xx, float yy)
- {
- if (story == true)
- {
- if (storyStage > 0)
- {
- if (globalMove == false && targetX == -1.)
- {
- mentorSize = 40;
- // Icon Backround
- fill(0, 50);
- rect(0, 264, 720, 240);
-
- // Character
- fill(#EB8072);
- rect(xx, yy - 20, 20, 40);
-
- // Icon
- fill(#EB8072);
- rect(40, 300, 180, 180);
-
- if (mentorBlink == false)
- {
- float ran = random(1, 100);
-
- if ((int) ran == 2)
- {
- mentorBlink = true;
- mentorBlinkUnit = 0;
- }
-
- fill(0, 90);
- ellipse(xx + 10, yy - 10, 10, 10);
- ellipse(130, 390, 120, 120);
- } else
- {
- mentorBlinkUnit ++;
- fill(0, 90);
- ellipse(xx + 10, yy - 10, 10, sin(mentorBlinkUnit * 0.05) * 10.);
- ellipse(130, 390, 120, sin(mentorBlinkUnit * 0.05) * 120.);
- if (mentorBlinkUnit > 10)
- {
- mentorBlink = false;
- }
- }
- }
- }
- } else
- {
- if (mentorSize > 0)
- {
- mentorSize -= 1.;
-
- // Icon Backround
- fill(0, 50);
- rect(0, 264, mentorSize * 18, mentorSize * 6);
-
- // Character
- fill(#EB8072);
- rect(xx, yy - 20, mentorSize / 2, mentorSize);
-
- // Icon
- fill(#EB8072);
- rect(40, 300, 9 * (mentorSize / 2), 9 * (mentorSize / 2));
-
- // Eyes
- fill(0, 90);
- ellipse(xx + 10, yy - 10, mentorSize / 4, mentorSize / 4);
- ellipse(130, 390, mentorSize * 4, mentorSize * 4);
- }
- }
- }
-
- void player()
- {
- if (world > 0)
- {
-
- allMover = 0;
-
- if (targetX >= 0)
- {
- if (x < targetX)
- {
- x+= speed;
- if (x > targetX - 40)
- {
- speed = 3.;
- }
- if (x > targetX - 30)
- {
- speed = 2.;
- }
- if (x > targetX - 20)
- {
- speed = 1.;
- }
- } else if (x > targetX)
- {
- x-= speed;
- if (x < targetX + 40)
- {
- speed = 3.;
- }
- if (x < targetX + 30)
- {
- speed = 2.;
- }
- if (x < targetX + 20)
- {
- speed = 1.;
- }
- }
-
- if (x == targetX)
- {
- targetX = -1.;
- globalMove = true;
- speed = 40.;
- //playerMoving = false;
- }
- }
-
- if (globalMove == true)
- {
- if (x < center)
- {
- x+= speed;
- allMover = (speed);
- if (x > center - 40)
- {
- speed = 3.;
- }
- if (x > center - 30)
- {
- speed = 2.;
- }
- if (x > center - 20)
- {
- speed = 1.;
- }
- } else if (x > center)
- {
- x-= speed;
- allMover = (speed * -1);
- if (x < center + 40)
- {
- speed = 3.;
- }
- if (x < center + 30)
- {
- speed = 2.;
- }
- if (x < center + 20)
- {
- speed = 1.;
- }
- }
-
- if (x == center)
- {
- globalMove = false;
- playerMoving = false;
- }
- }
-
- if (door2 == true)
- {
- fill(255);
- ellipse(x + 10, y - 20, 10, 10);
- } else if (door5 == true)
- {
- fill(255);
- rect(x + 5, y - 30, 10, 10);
- }
-
- fill(#ABE8DB);
- rect(x + jump, y + jump, 20, 20);
- if (playerBlink == false)
- {
- float ran = random(1, 100);
-
- if ((int) ran == 2)
- {
- playerBlink = true;
- blinkUnit = 0;
- }
-
- fill(0, 90);
- ellipse(x + 10, y + 10, 10, 10);
- } else
- {
- blinkUnit ++;
- fill(0, 90);
- ellipse(x + 10, y + 10, 10, sin(blinkUnit * 0.05) * 10.);
- if (blinkUnit > 10)
- {
- playerBlink = false;
- }
- }
- }
-
-
-
- //jumpAction();
- }
-
- void jumpAction()
- {
- if (jumping == true)
- {
- playerMoving = true;
- if (jumpStatus == true)
- {
- jump--;
- } else
- {
- jump++;
- }
-
- if (jump < -20)
- {
- jumpStatus = false;
- }
-
- if (jump > 0)
- {
- jump = 0;
- jumping = false;
- }
- }
- }
-
- // World -2 (PAUSE SCREEN) *******************************************************************************************************
- void pause()
- {
- if (world == -2)
- {
- if (sa < 1000)
- {
- sa+=40.;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
- }
- if (sa > 900)
- {
- currentColor = color(0);
- }
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
-
- fill(255);
- textSize(32);
- text("paused", (width / 2) - 57, (height / 2) - 50);
- textSize(12);
- text("PRESS 'P' TO CONTINUE", (width / 2) - 68, height / 2);
- } else
- {
- if (sa < 0)
- {
- if (world != -2)
- {
- sa-=40;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
- }
- }
- }
- }
-
- // World -1 (MENU SCREEN) *******************************************************************************************************
- void menu()
- {
- if (world == -1)
- {
- sa = 1000;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
-
- fill(255);
- textSize(32);
- text("blinken", (width / 2) - 57, (height / 2) - 25);
- textSize(12);
- text("PRESS 'E' TO START", (width / 2) - 55, (height / 2));
-
- // Draw Character
- fill(#ABE8DB);
- rect(width/2 - 10, height/2 - 105, 20, 20);
-
- if (playerBlink == false)
- {
- float ran = random(1, 100);
-
- if ((int) ran == 2)
- {
- playerBlink = true;
- blinkUnit = 0;
- }
-
- fill(#739C93);
- ellipse(width/2 - 10 + 10, height/2 - 105 + 10, 10, 10);
- } else
- {
- blinkUnit ++;
- fill(#739C93);
- ellipse(width/2 - 10 + 10, height/2 - 105 + 10, 10, sin(blinkUnit * 0.05) * 10.);
- if (blinkUnit > 10)
- {
- playerBlink = false;
- }
- }
- } else
- {
- if (sa < 0)
- {
- if (world != 0)
- {
- sa-=40;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
- }
- }
- }
- }
-
- // World 0 (DEAD SCREEN) *******************************************************************************************************
- void dead()
- {
- if (world == 0)
- {
- playerMoving = false;
- if (sa < 1000)
- {
- sa+=40.;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
- }
- if (sa > 900)
- {
- currentColor = color(0);
- }
-
- fill(255);
- textSize(32);
- text("you died", (width / 2) - 57, (height / 2) - 50);
- textSize(12);
- text("PRESS 'E' TO RESPAWN", (width / 2) - 55, (height / 2));
- }
- }
-
- // World 1 *******************************************************************************************************
-
- void mountains()
- {
- if (world == 1 || world == 2 || world == 3 || world == 4)
- {
- fill(255, 20);
-
- triangle(mountX - 200 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05), mountX - (pmouseX * 0.01), mountY - 100 - (pmouseY * 0.05), mountX + 200 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05));
-
- triangle(mountX + 0 + (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05), mountX + 200 + (pmouseX * 0.01), mountY - 100 - (pmouseY * 0.05), mountX + 400 + (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05));
-
- triangle(mountX + 200 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05), mountX + 400 - (pmouseX * 0.01), mountY - 100 - (pmouseY * 0.05), mountX + 600 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05));
-
- triangle(mountX + 400 + (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05), mountX + 600 + (pmouseX * 0.01), mountY - 100 - (pmouseY * 0.05), mountX + 800 + (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05));
-
- triangle(mountX + 600 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05), mountX + 800 - (pmouseX * 0.01), mountY - 100 - (pmouseY * 0.05), mountX + 1000 - (pmouseX * 0.01), mountY + 300 - (pmouseY * 0.05));
- }
- }
-
- void watchPoint1_1()
- {
- if (world==2)
- {
- if (playerMoving == false)
- {
- if (x > watchPoint1_1X - 20 && x < watchPoint1_1X + 40)
- {
- if (door2 == true)
- {
- door3 = true;
- }
- if (door3 == false && storyEvent1 == false)
- {
- storyEvent1 = true;
- story = true;
- storyStage = 3;
- storyTimer = 0;
- }
- }
- } else
- {
- if (watchPoint1_1DoorSize > 0)
- {
- watchPoint1_1DoorSize -= 10;
- fill(255);
- ellipse(watchPoint1_1X, watchPoint1_1Y - 25, watchPoint1_1DoorSize, watchPoint1_1DoorSize);
- }
- }
-
- if (door3 == true)
- {
- door2 = false;
- if (watchPoint1_1DoorSize < 500)
- {
- watchPoint1_1DoorSize += 5;
- }
- if (watchPoint1_1DoorSize < 475)
- {
- watchPoint1_1DoorSize += 5;
- }
- fill(255);
- ellipse(watchPoint1_1X, watchPoint1_1Y - 25, watchPoint1_1DoorSize + sin(frameCount * 0.1) *10., watchPoint1_1DoorSize + sin(frameCount * 0.1) *10.);
- }
-
- fill(255);
- rect(watchPoint1_1X, watchPoint1_1Y - 20, watchPoint1_1Size / 2, watchPoint1_1Size);
- }
-
- watchPoint1_1X += allMover;
- }
-
- void notifications()
- {
- if (notifSwitch == true)
- {
-
- if (notifY > 420)
- {
- notifY -= 2;
- }
-
- notifTimer++;
- if (notifTimer == 250)
- {
- notifSwitch = false;
- notifTimer = 0;
- }
-
- if (notif == 1)
- {
- fill(255);
- textSize(18);
- text("Unlocked a Portalway!", (width / 2) - 135, notifY + 40);
- }
-
- if (notif == 2)
- {
- fill(255);
- textSize(18);
- text("A key has been found!", (width / 2) - 135, notifY + 40);
- }
-
- if (notif == 3)
- {
- fill(255);
- textSize(18);
- text("He needs food.", (width / 2) - 135, notifY + 40);
- }
-
- if (notif == 4)
- {
- fill(255);
- textSize(18);
- text("Found an apple!", (width / 2) - 135, notifY + 40);
- }
-
- if (notif == 5)
- {
- fill(255);
- textSize(18);
- text("Kill the boss!", (width / 2) - 135, notifY + 40);
- }
-
- if (notif == 6)
- {
- fill(255);
- textSize(18);
- text("Victorious!", (width / 2) - 135, notifY + 40);
- }
-
- fill(255, 50);
- rect((width / 2) - 200, notifY, 400, 60);
- fill(0, 50);
- ellipse(width / 2 - 170, notifY + 30, 40, 40);
- fill(255);
- textSize(32);
- text("!", (width / 2) - 175, notifY + 40);
- } else
- {
- if (notifY < 480)
- {
- notifY += 2;
- fill(255, 50);
- rect((width / 2) - 200, notifY, 400, 60);
- fill(0, 50);
- ellipse(width / 2 - 170, notifY + 30, 40, 40);
- fill(255);
- textSize(32);
- text("!", (width / 2) - 175, notifY + 40);
- }
- }
- }
-
- void box1()
- {
- if (world == 1)
- {
- if (door1 == true)
- {
- if (box1Size < 50)
- {
- box1Size += 1;
- fill(255);
- rect(box1X + 15, box1Y - 50 + sin(frameCount * 0.1) * 10, 20 - (box1Size / 2.5), 20 - (box1Size / 2.5));
- }
- if (playerMoving == false)
- {
- if (x > box1X - 20 && x < box1X + 50)
- {
- doorContact = true;
- if (box1DoorSize < 150)
- {
- box1DoorSize += 5;
- }
- if (box1DoorSize < 200)
- {
- box1DoorSize += 5;
- }
- fill(world2Color);
- ellipse(box1X, box1Y - 25, box1DoorSize + sin(frameCount * 0.1) *10., box1DoorSize + sin(frameCount * 0.1) *10.);
- hoverColor = color(world2Color);
- if (fillr == true)
- {
- box1DoorSize += 20;
- if (box1DoorSize == 1000)
- {
- currentColor = hoverColor;
- fillr = false;
- box1DoorSize = 0;
- world = 2;
- }
- }
- }
- } else
- {
- doorContact = false;
- if (box1DoorSize > 0)
- {
- box1DoorSize -= 10;
- fill(world2Color);
- ellipse(box1X, box1Y - 25, box1DoorSize, box1DoorSize);
- }
- }
-
- fill(255);
- rect(box1X, box1Y - 30, box1Size, box1Size);
- } else
- {
- // Player Detection
- if (x <= box1X + 50 && x + 20 >= box1X)
- {
- // Unlock a door
- if (door1 == false)
- {
- door1 = true;
- story = true;
- storyTimer = 0;
- }
- }
- fill(255);
- rect(box1X + 15, box1Y - 50 + sin(frameCount * 0.1) * 10, 20, 20);
- }
- } else
- {
- if (box1Size > 0)
- {
- box1Size -= 5;
- fill(255);
- rect(box1X, box1Y - 30, box1Size, box1Size);
- }
- }
-
- box1X += allMover;
- }
-
- void spikeEngine()
- {
- if (world == 1 || world == 2 || world == 3)
- {
- if (spikeDirection == true)
- {
- spike1Y-= spike1Acc;
- spike1Acc *= 1.5;
- } else
- {
- if (spike1Y > -35)
- {
- spikeCanDie = false;
- }
-
- if (spike1Y < 0)
- {
- spike1Y++;
- } else
- {
- float ran = random(0, 100);
- if ((int) ran == 2)
- {
- spikeDirection = true;
- }
- }
- }
-
- if (spike1Y < -40)
- {
- spikeCanDie = true;
- spikeDirection = false;
- spike1Acc = 1;
- }
- }
- spike1X += allMover;
- }
-
- void spike1(float spikeXMulti)
- {
- if (world == 1)
- {
- fill(255);
- triangle(spikeXMulti - 10, 260, spikeXMulti, 260 + spike1Y, spikeXMulti + 10, 260);
-
- if (spikeCanDie == true)
- {
- if (spikeXMulti - 10 <= x + 20 && spikeXMulti + 10 >= x)
- {
- world = 0;
- }
- }
- }
- }
-
- void spike2(float spikeXMulti)
- {
- if (world == 2)
- {
- fill(255);
- triangle(spikeXMulti - 10, 260, spikeXMulti, 260 + spike1Y, spikeXMulti + 10, 260);
-
- if (spikeCanDie == true)
- {
- if (spikeXMulti - 10 <= x + 20 && spikeXMulti + 10 >= x)
- {
- world = 0;
- }
- }
- }
- }
-
- void evilBallEngine()
- {
- if (world == 1 || world == 2 || world == 3)
- {
- if (eb1JumpDir == false)
- {
- eb1YV*= 1.1;
- eb1Y+= eb1YV;
- if (eb1Y >= 245)
- {
- eb1JumpDir = true;
- }
- } else if (eb1JumpDir == true)
- {
- eb1YV /= 1.1;
- if (eb1YV <= 1)
- {
- eb1YV = 1.;
- }
- eb1Y -= eb1YV;
- if (eb1Y <= 100)
- {
- eb1JumpDir = false;
- }
- }
-
- if (eb1Size < 30)
- {
- eb1Size += 5;
- }
-
- if (world == 1)
- {
- if (eb1Size < 30)
- {
- eb1Size+=5;
- }
- } else if (world == 2)
- {
- if (eb2Size < 30)
- {
- eb2Size+=5;
- }
- } else if (world == 3)
- {
- if (eb3Size < 30)
- {
- eb3Size+=5;
- }
- }
- }
- eb1X += allMover;
- }
-
- void evilBall1(float ebxMulti)
- {
-
- if (world == 1)
- {
- fill(255);
- ellipse(ebxMulti, eb1Y, eb1Size, eb1Size);
-
- if (x > ebxMulti - 40 && x < ebxMulti + 20)
- {
- if (eb1Y >= y)
- {
- sa = 1;
- world = 0;
- }
- }
- } else
- {
- if (eb1Size > 0)
- {
- eb1Size-=5;
- fill(255);
- ellipse(ebxMulti, eb1Y, eb1Size, eb1Size);
- }
- }
- }
-
- void evilBall3(float ebxMulti)
- {
-
- if (world == 3)
- {
- fill(255);
- ellipse(ebxMulti, eb1Y, eb3Size, eb3Size);
-
- if (x > ebxMulti - 40 && x < ebxMulti + 20)
- {
- if (eb1Y >= y)
- {
- sa = 1;
- world = 0;
- }
- }
- } else
- {
- if (eb3Size > 0)
- {
- eb3Size-=5;
- fill(255);
- ellipse(ebxMulti, eb1Y, eb3Size, eb3Size);
- }
- }
- }
-
- void stalker1()
- {
- if (world == 2)
- {
- fill(255);
- rect(stalkerX, stalkerY - 80, stalkerSize / 2, stalkerSize);
- rect(stalkerX - 30, stalkerY - 60 + (sin(frameCount * 0.05) * 5), stalkerSize / 2, stalkerSize / 2);
- rect(stalkerX + 5, stalkerY - 20, stalkerSize / 16, stalkerSize / 2);
- rect(stalkerX + 30, stalkerY - 20, stalkerSize / 16, stalkerSize / 2);
-
- if (stalkerBlink == false)
- {
- float ran = random(1, 100);
-
- if ((int) ran == 2)
- {
- stalkerBlink = true;
- stalkerBlinkUnit = 0;
- }
-
- fill(0, 90);
- ellipse(stalkerX - 20, stalkerY - 30 + (sin(frameCount * 0.05) * 5), 10, 10);
- } else
- {
- stalkerBlinkUnit ++;
- fill(0, 90);
- ellipse(stalkerX - 20, stalkerY - 30 + (sin(frameCount * 0.05) * 5), 10, sin(stalkerBlinkUnit * 0.05) * 10.);
- if (stalkerBlinkUnit > 10)
- {
- stalkerBlink = false;
- }
- }
- }
- stalkerX += allMover;
- }
-
- void build1_1()
- {
- if (world == 2) // WORLD 1 ++++++++++++++++++++++++++++++++++++++++++++++
- {
- if (build1_1Size < 80)
- {
- build1_1Size += 5;
- }
-
- if (playerMoving == false)
- {
- if (x > build1_1X - 20 && x < build1_1X + 80)
- {
- doorContact = true;
- if (build1_1DoorSize < 200)
- {
- build1_1DoorSize += 5;
- }
- if (build1_1DoorSize < 220)
- {
- build1_1DoorSize += 5;
- }
- fill(0, 50);
- rectMode(CENTER);
- rect(build1_1X + (build1_1Size / 2), build1_1Y - 4, build1_1DoorSize + (sin(frameCount * 0.1) *20.), 48);
- rectMode(CORNER);
- hoverColor = color(0, 50);
- if (fillr == true)
- {
- build1_1DoorSize += 20;
- if (build1_1DoorSize == 1000)
- {
- build1_1DoorSize = 1000;
- fillr = false;
- world = 2.1;
- }
- }
- }
- } else
- {
- doorContact = false;
- if (build1_1DoorSize > 0)
- {
- build1_1DoorSize -= 20;
- fill(0, 50);
- rectMode(CENTER);
- rect(build1_1X + (build1_1Size / 2), build1_1Y - 4, build1_1DoorSize, 48);
- rectMode(CORNER);
- }
- }
-
- if (fillr == false)
- {
- if (build1_1DoorSize > 220)
- {
- build1_1DoorSize -= 20;
- }
- }
-
-
- fill(255);
- rect(build1_1X, build1_1Y - 140, (build1_1Size), build1_1Size * 2);
- rect(build1_1X + 20, (build1_1Y - 230) + (sin(frameCount * 0.05) * 5.), (build1_1Size / 2), build1_1Size);
- } else if (world == 2.1) // WORLD 1.1 ++++++++++++++++++++++++++++++++++++++++++++++
- {
- // Get a Key
- if (door2 == false)
- {
- door2 = true;
- notif = 2;
- notifSwitch = true;
- }
-
- fill(0, 50);
- rectMode(CENTER);
- rect(build1_1X + (build1_1Size / 2), build1_1Y - 4, build1_1DoorSize, 48);
- rectMode(CORNER);
-
- if (build1_1Size > 0)
- {
- build1_1Size -= 5;
- fill(255);
- rect(build1_1X, build1_1Y - 140, (build1_1Size), build1_1Size * 2);
- rect(build1_1X + 20, (build1_1Y - 230), (build1_1Size / 2), build1_1Size);
- }
- } else
- {
- if (build1_1Size > 0)
- {
- build1_1Size -= 20;
- fill(255);
- rect(build1_1X, build1_1Y - 140, (build1_1Size), build1_1Size * 2);
- rect(build1_1X + 20, (build1_1Y - 230), (build1_1Size / 2), build1_1Size);
- }
- }
-
- build1_1X += allMover;
- }
-
- // World 2 *******************************************************************************************************
-
- //A52445
- //F3921E //B36C16
- //CD4544
- //470B37
- //05C096
- //8D7D4A //048D6E //024032
-
- void box3()
- {
- if (world == 2 && door3 == true)
- {
- box3Size = 50;
- if (playerMoving == false)
- {
- if (x > box3X - 20 && x < box3X + 50)
- {
- doorContact = true;
- if (box3DoorSize < 150)
- {
- box3DoorSize += 5;
- }
- if (box3DoorSize < 200)
- {
- box3DoorSize += 5;
- }
- fill(#05C096);
- ellipse(box3X, box3Y - 25, box3DoorSize + sin(frameCount * 0.1) *10., box3DoorSize + sin(frameCount * 0.1) *10.);
- hoverColor = color(#05C096);
- if (fillr == true)
- {
- box3DoorSize += 20;
- if (box3DoorSize == 1000)
- {
- currentColor = hoverColor;
- fillr = false;
- box3DoorSize = 0;
- world = 3;
- notifSwitch = true;
- notif = 5;
- notifTimer = 0;
- }
- }
- }
- } else
- {
- doorContact = false;
- if (box3DoorSize > 0)
- {
- box3DoorSize -= 10;
- fill(#05C096);
- ellipse(box3X, box3Y - 25, box3DoorSize, box3DoorSize);
- }
- }
-
- fill(world2Color);
- rect(box3X, box3Y - 30, box3Size, box3Size);
- } else
- {
- if (box3Size > 0)
- {
- box3Size -= 5;
- fill(world2Color);
- rect(box3X, box3Y - 30, box3Size, box3Size);
- }
- }
-
- box3X += allMover;
- }
-
- void box2()
- {
- if (world == 2)
- {
- if (door4 == true)
- {
- if (box2Size < 50)
- {
- box2Size += 1;
- fill(255);
- rect(box2X + 15, box2Y - 50 + sin(frameCount * 0.1) * 10., 20 - (box2Size / 2.5), 20 - (box2Size / 2.5));
- }
- if (playerMoving == false)
- {
- if (x > box2X - 20 && x < box2X + 50)
- {
- doorContact = true;
- if (box2DoorSize < 150)
- {
- box2DoorSize += 5;
- }
- if (box2DoorSize < 200)
- {
- box2DoorSize += 5;
- }
- fill(world1Color);
- ellipse(box2X, box2Y - 25, box2DoorSize + sin(frameCount * 0.1) *10., box2DoorSize + sin(frameCount * 0.1) *10.);
- hoverColor = color(world1Color);
- if (fillr == true)
- {
- box2DoorSize += 20;
- if (box2DoorSize == 1000)
- {
- currentColor = hoverColor;
- fillr = false;
- box2DoorSize = 0;
- world = 1;
- }
- }
- }
- } else
- {
- doorContact = false;
- if (box2DoorSize > 0)
- {
- box2DoorSize -= 10;
- fill(world1Color);
- ellipse(box2X, box2Y - 25, box2DoorSize, box2DoorSize);
- }
- }
-
- fill(255);
- rect(box2X, box2Y - 30, box2Size, box2Size);
- } else
- {
- // Player Detection
- if (x <= box2X + 50 && x + 20 >= box2X)
- {
- // Unlock a door
- if (door4 == false)
- {
- door4 = true;
- notifSwitch = true;
- notif = 1;
- }
- }
- fill(255);
- rect(box2X + 15, box2Y - 50 + sin(frameCount * 0.1) * 10., 20, 20);
- }
- } else
- {
- if (box2Size > 0)
- {
- box2Size -= 5;
- fill(255);
- rect(box2X, box2Y - 30, box2Size, box2Size);
- }
- }
-
- box2X += allMover;
- }
-
- void apple1()
- {
- if (world == 2)
- {
- if (stalkerApple == false)
- {
- if (x < apple1X + 10)
- {
- notifSwitch = true;
- notif = 4;
- notifTimer = 0;
- stalkerApple = true;
- door5 = true;
- }
- rect(apple1X, apple1Y, 10, 10);
- }
- }
- apple1X += allMover;
- }
-
- // World 3 *******************************************************************************************************
-
- void boss()
- {
- if (world == 3)
- {
- fill(0, 30);
- ellipse(width / 2, height / 2 - 110, 200 + (sin(frameCount * 0.05)*50.), 200 + (sin(frameCount * 0.05)*50.));
-
- fill(#048D6E);
- rect(width / 2 - 100, height / 2 - 180, bossSize, bossSize);
-
- //Eyes
- if (bossBlink == false)
- {
- float ran = random(1, 100);
-
- if ((int) ran == 2)
- {
- bossBlink = true;
- bossBlinkUnit = 0;
- }
-
- fill(0, 90);
- if (bossHealth > 2)
- {
- ellipse(bossX + 35, bossY + 170, 50, 50);
- }
- if (bossHealth > 1)
- {
- ellipse(bossX + 165, bossY + 170, 50, 50);
- }
- if (bossHealth > 0)
- {
- ellipse(bossX + 100, bossY + 120, 50, 50);
- }
- } else
- {
- bossBlinkUnit++;
- fill(0, 90);
- if (bossHealth > 2)
- {
- ellipse(bossX + 35, bossY + 170, 50, sin(bossBlinkUnit * 0.05) * 50.);
- }
- if (bossHealth > 1)
- {
- ellipse(bossX + 165, bossY + 170, 50, sin(bossBlinkUnit * 0.05) * 50.);
- }
- if (bossHealth > 0)
- {
- ellipse(bossX + 100, bossY + 120, 50, sin(bossBlinkUnit * 0.05) * 50.);
- }
- if (bossBlinkUnit > 10)
- {
- bossBlink = false;
- }
- }
-
- if (bossHealth > 0)
- {
-
- // Fist
- if (fistSmash == false)
- {
- if (fistY > 40)
- {
- fistY-=4;
- } else
- {
- float ran = random(0, 100);
- if ((int) ran == 2)
- {
- fistSmash = true;
- fistAcc = 1;
- }
- bossSwitchTriggered = false;
- }
- if (x - 20 > fistX)
- {
- fistX += 4.;
- } else if (x - 10 < fistX)
- {
- fistX -= 4.;
- }
- } else
- {
- if (fistY >= height/2 - 30)
- {
- fistSmash = false;
- } else
- {
- fistY+=1;
- fistY+=fistAcc;
- }
- fistAcc *= 1.1;
-
- // Collision
- if (x <= fistX + 50 && x + 20 >= fistX)
- {
- if (y <= fistY + 50 && y >= fistY)
- {
- fistSmash = false;
- world = 0;
- }
- }
-
- if (bossSwitchX <= fistX + 50 && bossSwitchX + 50 >= fistX)
- {
- if (bossSwitchTriggered == false)
- {
- if (fistY >= height/2 - 30)
- {
- bossHealth--;
- bossSwitchTriggered = true;
- if (bossHealth == 0)
- {
- //world = 4;
- }
- }
- }
- }
- }
- }
-
- fill(#024032);
- rect(fistX, fistY, 50, 50);
- rect(fistX - 10, fistY + 10, 30, 30);
- }
- }
-
- void bossSwitch()
- {
- if (world == 3 && bossHealth > 0)
- {
- if (bossSwitchDir == false)
- {
- if (bossSwitchX > 150)
- {
- if (bossSwitchSize > 0)
- {
- bossSwitchSize--;
- if (bossSwitchTriggered == true)
- {
- fill(#F3921E);
- } else
- {
- fill(#048D6E);
- }
- rect(bossSwitchX, 240, 50, bossSwitchSize);
- } else
- {
- bossSwitchX = 150;
- }
- } else
- {
- if (bossSwitchSize < 20)
- {
- bossSwitchSize++;
- } else
- {
- float ran = random(0, 200);
- if ((int) ran == 4)
- {
- bossSwitchDir = true;
- }
- }
-
- if (bossSwitchTriggered == true)
- {
- fill(#F3921E);
- } else
- {
- fill(#048D6E);
- }
- rect(bossSwitchX, 240 - (sin(frameCount * 0.1) * 5.), 50, bossSwitchSize + (sin(frameCount * 0.1) * 5.));
- }
- } else if (bossSwitchDir == true)
- {
- if (bossSwitchX < 520)
- {
- if (bossSwitchSize > 0)
- {
- bossSwitchSize--;
- if (bossSwitchTriggered == true)
- {
- fill(#F3921E);
- } else
- {
- fill(#048D6E);
- }
- rect(bossSwitchX, 240, 50, bossSwitchSize);
- } else
- {
- bossSwitchX = 520;
- }
- } else
- {
- if (bossSwitchSize < 20)
- {
- bossSwitchSize++;
- } else
- {
- float ran = random(0, 200);
- if ((int) ran == 4)
- {
- bossSwitchDir = false;
- }
- }
- if (bossSwitchTriggered == true)
- {
- fill(#F3921E);
- } else
- {
- fill(#048D6E);
- }
- rect(bossSwitchX, 240 - (sin(frameCount * 0.1) * 5.), 50, bossSwitchSize + (sin(frameCount * 0.1) * 5.));
- }
- }
- }
- }
-
- void bossExplosion()
- {
- if (world == 3)
- {
- if (bossHealth <= 0)
- {
- notifSwitch = true;
- notif = 6;
- notifTimer = 0;
- if (explosionStage > 7)
- {
- explosionSize += 10;
- if (explosionSize > 1000)
- {
- world = 4;
- story = true;
- storyStage = 4;
- storyTimer = 0;
- sa = 1000;
- }
- }
- if (explosionStage > 6)
- {
- fill(world2Color);
- ellipse(width/2, height/2, explosionSize * 4.5, explosionSize * 4.5);
- }
- if (explosionStage > 5)
- {
- fill(#B36C16);
- ellipse(width/2, height/2, explosionSize * 4, explosionSize * 4);
- }
- if (explosionStage > 4)
- {
- fill(world2Color);
- ellipse(width/2, height/2, explosionSize * 3.5, explosionSize * 3.5);
- }
- if (explosionStage > 3)
- {
- fill(#B36C16);
- ellipse(width/2, height/2, explosionSize * 3, explosionSize * 3);
- }
- if (explosionStage > 2)
- {
- fill(world2Color);
- ellipse(width/2, height/2, explosionSize * 2.5, explosionSize * 2.5);
- }
- if (explosionStage > 1)
- {
- fill(#B36C16);
- ellipse(width/2, height/2, explosionSize * 2, explosionSize * 2);
- }
- if (explosionStage > 0)
- {
- fill(world2Color);
- ellipse(width/2, height/2, explosionSize * 1.5, explosionSize * 1.5);
- }
- if (explosionStage > -1)
- {
- fill(0);
- ellipse(width/2, height/2, explosionSize, explosionSize);
- }
-
- explosionTimer++;
-
- if (explosionTimer > 25)
- {
- explosionStage = 1;
- }
- if (explosionTimer > 50)
- {
- explosionStage = 2;
- }
- if (explosionTimer > 75)
- {
- explosionStage = 3;
- }
- if (explosionTimer > 100)
- {
- explosionStage = 4;
- }
- if (explosionTimer > 125)
- {
- explosionStage = 5;
- }
- if (explosionTimer > 150)
- {
- explosionStage = 6;
- }
- if (explosionTimer > 175)
- {
- explosionStage = 7;
- }
- if (explosionTimer > 225)
- {
- explosionStage = 8;
- }
- }
- }
- }
-
- // World 4 *******************************************************************************************************
- void world4()
- {
- if (world == 4)
- {
- if (sa > 0)
- {
- sa-=40.;
- fill(0);
- ellipse(width / 2, height / 2, sa, sa);
- }
- }
- }
-
- void mousePressed()
- {
- if (world == 1 || world == 2 || world == 3 || world == 4)
- {
- if (playerMoving == false)
- {
- targetX = mouseX;
- playerMoving = true;
- speed = 5;
- if (mouseY < 100)
- {
- jumping = true;
- jumpStatus = true;
- }
- }
- }
- }
-
- void keyPressed()
- {
- if (key == 'e' || key == 'E')
- {
- if (playerMoving == false)
- {
- if (world == 0)
- {
- sa = 0;
- world = 1;
- currentColor = world1Color;
- reset();
- }
- if (world == -1)
- {
- sa = 1000;
- world = 1;
- currentColor = world1Color;
- //story = true;
- //storyStage = 1;
- }
- if (world == 2.1)
- {
- fillr = false;
- world = 2;
- doorContact = false;
- }
- if (doorContact == true)
- {
- fillr = true;
- doorContact = false;
- }
- } else if (key == 'p' || key == 'P' )
- {
- if (world > 0)
- {
- worldSave = world;
- world = -2;
- sa = 0;
- } else if (world == -2)
- {
- sa = 0;
- world = worldSave;
- }
- }
- }
- }
-