Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var gunLoaded = true;
- var enemiesMovingLeft = false;
- var gameStarted = false;
- var enemiesRemaining = 4;
- var startTime;
- var elapsedTime;
- var musicPlaying = getChecked("checkbox_music");
- var toBeCollected = 3;
- var gameOver = false;
- var virusHealth = 4;
- var wbcHealth = 4;
- setScreen("screen_title");
- if (musicPlaying === true) {
- playSound("sound://category_background/stride.mp3", true);
- } else {
- stopSound("sound://category_background/stride.mp3");
- }
- onEvent("button_play", "click", function( ) {
- playSound("sound://category_alerts/retro_game_health_pickup_6.mp3", false);
- setScreen("screen_shooter");
- });
- timedLoop(5000, function() {
- setText("label_didYouKnow", "Remember to check your facts are from verified sources!");
- });
- timedLoop(10000, function() {
- setText("label_didYouKnow", "All facts in this app are from verified source, mainly from WHO...");
- });
- onEvent("screen_shooter", "keydown", function(event) {
- var drX = getXPosition("image_dr");
- var drY = getYPosition("image_dr");
- var distance = 12;
- if (event.key == "Up")
- {
- drY = drY - distance;
- }
- if (event.key == "Down")
- {
- drY = drY + distance;
- }
- if(event.key == "Enter")
- {
- fire();
- }
- setPosition("image_dr", drX, drY);
- verticalWrapAround("image_dr");
- });
- function verticalWrapAround(object)
- {
- var objectX = getXPosition(object);
- var objectY = getYPosition(object);
- var objectHeight = getProperty(object, "height");
- if (objectY < 0 - (objectHeight / 2))
- {
- objectY = 450 - (objectHeight / 2);
- }
- else if (objectY > 450 - (objectHeight) / 2)
- {
- objectY = 0 - (objectHeight /2);
- }
- setPosition(object, objectX, objectY);
- }
- function fire()
- {
- if(gunLoaded) //gunLoaded == true
- {
- gunLoaded = false;
- var drX = getXPosition("image_dr");
- var drY = getYPosition("image_dr");
- var drHeight = getProperty("image_dr", "height");
- var drWidth = getProperty("image_dr", "width");
- var goopHeight = getProperty("image_goop", "height");
- var goopX = drX + drWidth - 30;
- var goopY = drY + (drHeight / 2) - (goopHeight / 2) + 25;
- setPosition("image_goop", goopX, goopY);
- }
- }
- onEvent("button_start", "click", function(event) {
- if(!gameStarted)
- {
- gameStarted = true;
- setPosition("button_start", 100, 500);
- startTime = getTime();
- setPosition("image_goop", 400, 100);
- timedLoop(50, function() {
- updateTime();
- moveGoop();
- moveEnemy("image_enemy_one");
- moveEnemy("image_enemy_two");
- moveEnemy("image_enemy_three");
- moveEnemy("image_enemy_four");
- collisionDetection("image_enemy_one");
- collisionDetection("image_enemy_two");
- collisionDetection("image_enemy_three");
- collisionDetection("image_enemy_four");
- if(enemiesRemaining === 3)
- setText("label_info", "Wash your hands with water and soap for at least 20 seconds frequently");
- if(enemiesRemaining === 2)
- setText("label_info", "Avoid touching your face!");
- if(enemiesRemaining === 1)
- setText("label_info", "Disinfect frequently used items often, like your phone!");
- if(enemiesRemaining === 0)
- {
- setText("label_info", "Good Job! Now remember to stay at home to limit the spread of the virus, and help your doctors who are working very long hours during this pandemic...");
- showElement("button_next");
- }
- });
- }
- });
- onEvent("button_next", "click", function( ) {
- playSound("sound://category_alerts/retro_game_health_pickup_6.mp3", false);
- setScreen("screen_sidescroller");
- });
- function updateTime()
- {
- var currentTime = getTime();
- elapsedTime = currentTime - startTime;
- elapsedTime = (elapsedTime / 1000).toFixed(1);
- setNumber("label_time", elapsedTime);
- }
- function moveGoop()
- {
- var goopX = getXPosition("image_goop");
- var goopY = getYPosition("image_goop");
- var goopSpeed = goopX / 5;
- goopX = goopX + goopSpeed;
- setPosition("image_goop", goopX, goopY);
- if(goopX > 500)
- gunLoaded = true;
- }
- function moveEnemy(name)
- {
- var enemyX = getXPosition(name);
- var enemyY = getYPosition(name);
- var minX = 156;
- var maxX = 280;
- var distanceFromMax = maxX - enemyX;
- var verticalSpeed = (distanceFromMax /10) + 20;
- var horizontalSpeed = Math.min((elapsedTime / 2), 15);
- enemyY = enemyY + verticalSpeed
- if(enemyX > maxX)
- enemiesMovingLeft = true;
- if (enemyX < minX)
- enemiesMovingLeft = false;
- if(enemiesMovingLeft) // enemiesMovingLeft == true
- enemyX = enemyX - horizontalSpeed;
- else
- enemyX = enemyX + horizontalSpeed;
- setPosition(name, enemyX, enemyY);
- verticalWrapAround(name);
- }
- function collisionDetection(object)
- {
- var goop_X = getXPosition("image_goop");
- var goop_Y = getYPosition("image_goop");
- var objectX = getXPosition(object);
- var objectY = getYPosition(object);
- var goop_width = getProperty("image_goop", "width");
- var goop_height = getProperty("image_goop", "height");
- var objectWidth = getProperty(object, "width");
- var objectHeight = getProperty(object, "height");
- if(goop_X + goop_width >= objectX && goop_X <= objectX + objectWidth)
- {
- if(goop_Y + goop_height >= objectY && goop_Y <= objectY + objectHeight)
- {
- if(!getProperty(object, "hidden"))
- {
- hideElement(object);
- enemiesRemaining--; //enemiesRemaining = enemiesRemaining - 1
- if(enemiesRemaining <= 0)
- {
- stopTimedLoop();
- hideElement("image_goop");
- }
- }
- }
- }
- }
- // the following code is for screen_sidescroller
- onEvent("screen_sidescroller", "keydown", function(event) {
- var dr_two_X = getXPosition("image_dr_two");
- var dr_two_Y = getYPosition("image_dr_two");
- var distance = 15;
- if(event.key == "Up")
- {
- dr_two_Y = dr_two_Y - distance;
- }
- if(event.key == "Down")
- {
- dr_two_Y = dr_two_Y + distance;
- }
- if(event.key == "Left")
- {
- dr_two_X = dr_two_X - distance;
- }
- if(event.key == "Right")
- {
- dr_two_X = dr_two_X + distance;
- }
- setPosition("image_dr_two", dr_two_X, dr_two_Y);
- wrapAround_two("image_dr_two");
- });
- function wrapAround_two(object)
- {
- var objectX = getXPosition(object);
- var objectY = getYPosition(object);
- var objectWidth = getProperty(object, "width");
- var objectHeight = getProperty(object, "height");
- if(objectX < 0 - (objectWidth / 2))
- {
- objectX = 320 - (objectWidth / 2);
- }
- else if(objectX > 320 - (objectWidth / 2))
- {
- objectX = 0 - (objectWidth / 2);
- }
- else if(objectY < 0 - (objectHeight / 2))
- {
- objectY = 450 - (objectHeight / 2);
- }
- else if(objectY > 450 - (objectHeight / 2))
- {
- objectY = 0 - (objectHeight / 2);
- }
- setPosition(object, objectX, objectY);
- }
- function moveObject(object, xStep, yStep)
- {
- var newX = getXPosition(object) + xStep;
- var newY = getYPosition(object) + yStep;
- setPosition(object, newX, newY);
- wrapAround_two(object);
- }
- onEvent("button_start_two", "click", function(event) {
- timedLoop(50, function() {
- hideElement("button_start_two");
- hideElement("image_info");
- moveObject("image_germ_one", 1, 1);
- moveObject("image_germ_two", 2, 1);
- moveObject("image_germ_three", 1, 2);
- moveObject("image_germ_four", 2, 2);
- moveObject("image_vaccine", 2, 2);
- moveObject("image_disinfectant", 2, 2);
- moveObject("image_sanitizer", 2, 2);
- collisionDetection_two("image_germ_one", true);
- collisionDetection_two("image_germ_two", true);
- collisionDetection_two("image_germ_three", true);
- collisionDetection_two("image_germ_four", true);
- collisionDetection_two("image_disinfectant", false);
- collisionDetection_two("image_sanitizer", false);
- collisionDetection_two("image_vaccine", false);
- });
- });
- function collisionDetection_two(object, isEnemy)
- {
- var drX = getXPosition("image_dr_two");
- var drY = getYPosition("image_dr_two");
- var objectX = getXPosition(object);
- var objectY = getYPosition(object);
- var drWidth = getProperty("image_dr_two", "width");
- var drHeight = getProperty("image_dr_two", "height");
- var objectWidth = getProperty(object, "width");
- var objectHeight = getProperty(object, "height");
- if(drX + drWidth >= objectX && drX <= objectX + objectWidth)
- {
- if(drY + drHeight >= objectY && drY <= objectY + objectHeight)
- {
- if(isEnemy && !gameOver) //isEnemy === true, gameOver !== true
- {
- gameOver = true;
- setScreen("screen_lose");
- }
- else if(!isEnemy && !gameOver && !getProperty(object, "hidden"))
- {
- hideElement(object);
- toBeCollected--; //toBeCollected = toBeCollected -1
- if(toBeCollected <= 0 & !gameOver)
- {
- gameOver = true;
- showElement("button_sc2_next");
- showElement("image_sc2_next");
- }
- }
- }
- }
- onEvent("button_sc2_next", "click", function( ) {
- setScreen("screen_turn_based");
- });
- if(toBeCollected === 2)
- {
- showElement("label_facts");
- setText("label_facts", "Follow local and international news! It's the best way to keep informed");
- }
- if(toBeCollected === 1)
- setText("label_facts","When telling people about coronavirus, be calm, avoid exaggeration and make sure your information is correct");
- }
- //these next lines of code are for screen_turn_based
- onEvent("button_start_three", "click", function( ) {
- hideElement("button_start_three");
- setText("label_questions", "Can regularly rinsing your nose with saline help prevent infection with the new coronavirus?");
- showElement("button_yes");
- showElement("button_no");
- });
- onEvent("button_yes", "click", function( ) {
- wbcHealth == (wbcHealth - 1);
- });
- onEvent("button_no", "click", function( ) {
- virusHealth = (virusHealth - 1);
- });
- if(wbcHealth === 3){
- showElement("wbc_3_health");
- hideElement("image_wbc_health_full");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement