Advertisement
Guest User

code

a guest
Mar 31st, 2020
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.14 KB | None | 0 0
  1. var gunLoaded = true;
  2. var enemiesMovingLeft = false;
  3. var gameStarted = false;
  4. var enemiesRemaining = 4;
  5. var startTime;
  6. var elapsedTime;
  7. var musicPlaying = getChecked("checkbox_music");
  8. var toBeCollected = 3;
  9. var gameOver = false;
  10. var virusHealth = 4;
  11. var wbcHealth = 4;
  12.  
  13. setScreen("screen_title");
  14.  
  15. if (musicPlaying === true) {
  16. playSound("sound://category_background/stride.mp3", true);
  17. } else {
  18. stopSound("sound://category_background/stride.mp3");
  19. }
  20.  
  21. onEvent("button_play", "click", function( ) {
  22. playSound("sound://category_alerts/retro_game_health_pickup_6.mp3", false);
  23. setScreen("screen_shooter");
  24. });
  25.  
  26. timedLoop(5000, function() {
  27. setText("label_didYouKnow", "Remember to check your facts are from verified sources!");
  28. });
  29. timedLoop(10000, function() {
  30. setText("label_didYouKnow", "All facts in this app are from verified source, mainly from WHO...");
  31. });
  32.  
  33. onEvent("screen_shooter", "keydown", function(event) {
  34. var drX = getXPosition("image_dr");
  35. var drY = getYPosition("image_dr");
  36.  
  37. var distance = 12;
  38.  
  39. if (event.key == "Up")
  40. {
  41. drY = drY - distance;
  42. }
  43.  
  44. if (event.key == "Down")
  45. {
  46. drY = drY + distance;
  47. }
  48.  
  49. if(event.key == "Enter")
  50. {
  51. fire();
  52. }
  53.  
  54. setPosition("image_dr", drX, drY);
  55. verticalWrapAround("image_dr");
  56. });
  57.  
  58. function verticalWrapAround(object)
  59. {
  60. var objectX = getXPosition(object);
  61. var objectY = getYPosition(object);
  62.  
  63. var objectHeight = getProperty(object, "height");
  64.  
  65. if (objectY < 0 - (objectHeight / 2))
  66. {
  67. objectY = 450 - (objectHeight / 2);
  68. }
  69.  
  70. else if (objectY > 450 - (objectHeight) / 2)
  71. {
  72. objectY = 0 - (objectHeight /2);
  73. }
  74.  
  75. setPosition(object, objectX, objectY);
  76. }
  77.  
  78. function fire()
  79. {
  80. if(gunLoaded) //gunLoaded == true
  81. {
  82. gunLoaded = false;
  83. var drX = getXPosition("image_dr");
  84. var drY = getYPosition("image_dr");
  85. var drHeight = getProperty("image_dr", "height");
  86. var drWidth = getProperty("image_dr", "width");
  87. var goopHeight = getProperty("image_goop", "height");
  88.  
  89. var goopX = drX + drWidth - 30;
  90. var goopY = drY + (drHeight / 2) - (goopHeight / 2) + 25;
  91.  
  92. setPosition("image_goop", goopX, goopY);
  93.  
  94. }
  95. }
  96. onEvent("button_start", "click", function(event) {
  97. if(!gameStarted)
  98. {
  99. gameStarted = true;
  100. setPosition("button_start", 100, 500);
  101. startTime = getTime();
  102. setPosition("image_goop", 400, 100);
  103.  
  104. timedLoop(50, function() {
  105. updateTime();
  106. moveGoop();
  107.  
  108. moveEnemy("image_enemy_one");
  109. moveEnemy("image_enemy_two");
  110. moveEnemy("image_enemy_three");
  111. moveEnemy("image_enemy_four");
  112.  
  113. collisionDetection("image_enemy_one");
  114. collisionDetection("image_enemy_two");
  115. collisionDetection("image_enemy_three");
  116. collisionDetection("image_enemy_four");
  117.  
  118. if(enemiesRemaining === 3)
  119. setText("label_info", "Wash your hands with water and soap for at least 20 seconds frequently");
  120.  
  121. if(enemiesRemaining === 2)
  122. setText("label_info", "Avoid touching your face!");
  123.  
  124. if(enemiesRemaining === 1)
  125. setText("label_info", "Disinfect frequently used items often, like your phone!");
  126.  
  127. if(enemiesRemaining === 0)
  128. {
  129. 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...");
  130. showElement("button_next");
  131.  
  132. }
  133. });
  134.  
  135. }
  136. });
  137.  
  138. onEvent("button_next", "click", function( ) {
  139. playSound("sound://category_alerts/retro_game_health_pickup_6.mp3", false);
  140. setScreen("screen_sidescroller");
  141. });
  142.  
  143.  
  144. function updateTime()
  145. {
  146. var currentTime = getTime();
  147. elapsedTime = currentTime - startTime;
  148. elapsedTime = (elapsedTime / 1000).toFixed(1);
  149. setNumber("label_time", elapsedTime);
  150. }
  151.  
  152. function moveGoop()
  153. {
  154. var goopX = getXPosition("image_goop");
  155. var goopY = getYPosition("image_goop");
  156. var goopSpeed = goopX / 5;
  157.  
  158. goopX = goopX + goopSpeed;
  159.  
  160. setPosition("image_goop", goopX, goopY);
  161.  
  162. if(goopX > 500)
  163. gunLoaded = true;
  164.  
  165. }
  166.  
  167. function moveEnemy(name)
  168. {
  169. var enemyX = getXPosition(name);
  170. var enemyY = getYPosition(name);
  171.  
  172. var minX = 156;
  173. var maxX = 280;
  174. var distanceFromMax = maxX - enemyX;
  175.  
  176. var verticalSpeed = (distanceFromMax /10) + 20;
  177. var horizontalSpeed = Math.min((elapsedTime / 2), 15);
  178.  
  179. enemyY = enemyY + verticalSpeed
  180.  
  181. if(enemyX > maxX)
  182. enemiesMovingLeft = true;
  183.  
  184. if (enemyX < minX)
  185. enemiesMovingLeft = false;
  186.  
  187. if(enemiesMovingLeft) // enemiesMovingLeft == true
  188. enemyX = enemyX - horizontalSpeed;
  189.  
  190. else
  191. enemyX = enemyX + horizontalSpeed;
  192.  
  193. setPosition(name, enemyX, enemyY);
  194.  
  195. verticalWrapAround(name);
  196. }
  197.  
  198. function collisionDetection(object)
  199. {
  200. var goop_X = getXPosition("image_goop");
  201. var goop_Y = getYPosition("image_goop");
  202. var objectX = getXPosition(object);
  203. var objectY = getYPosition(object);
  204.  
  205. var goop_width = getProperty("image_goop", "width");
  206. var goop_height = getProperty("image_goop", "height");
  207. var objectWidth = getProperty(object, "width");
  208. var objectHeight = getProperty(object, "height");
  209.  
  210. if(goop_X + goop_width >= objectX && goop_X <= objectX + objectWidth)
  211. {
  212. if(goop_Y + goop_height >= objectY && goop_Y <= objectY + objectHeight)
  213. {
  214. if(!getProperty(object, "hidden"))
  215. {
  216. hideElement(object);
  217. enemiesRemaining--; //enemiesRemaining = enemiesRemaining - 1
  218.  
  219. if(enemiesRemaining <= 0)
  220. {
  221. stopTimedLoop();
  222. hideElement("image_goop");
  223. }
  224. }
  225. }
  226. }
  227. }
  228.  
  229. // the following code is for screen_sidescroller
  230.  
  231. onEvent("screen_sidescroller", "keydown", function(event) {
  232. var dr_two_X = getXPosition("image_dr_two");
  233. var dr_two_Y = getYPosition("image_dr_two");
  234.  
  235. var distance = 15;
  236.  
  237. if(event.key == "Up")
  238. {
  239. dr_two_Y = dr_two_Y - distance;
  240. }
  241.  
  242. if(event.key == "Down")
  243. {
  244. dr_two_Y = dr_two_Y + distance;
  245. }
  246.  
  247. if(event.key == "Left")
  248. {
  249. dr_two_X = dr_two_X - distance;
  250. }
  251.  
  252. if(event.key == "Right")
  253. {
  254. dr_two_X = dr_two_X + distance;
  255. }
  256.  
  257. setPosition("image_dr_two", dr_two_X, dr_two_Y);
  258. wrapAround_two("image_dr_two");
  259. });
  260.  
  261. function wrapAround_two(object)
  262. {
  263. var objectX = getXPosition(object);
  264. var objectY = getYPosition(object);
  265.  
  266. var objectWidth = getProperty(object, "width");
  267. var objectHeight = getProperty(object, "height");
  268.  
  269. if(objectX < 0 - (objectWidth / 2))
  270. {
  271. objectX = 320 - (objectWidth / 2);
  272. }
  273.  
  274. else if(objectX > 320 - (objectWidth / 2))
  275. {
  276. objectX = 0 - (objectWidth / 2);
  277. }
  278.  
  279. else if(objectY < 0 - (objectHeight / 2))
  280. {
  281. objectY = 450 - (objectHeight / 2);
  282. }
  283.  
  284. else if(objectY > 450 - (objectHeight / 2))
  285. {
  286. objectY = 0 - (objectHeight / 2);
  287. }
  288.  
  289. setPosition(object, objectX, objectY);
  290. }
  291.  
  292. function moveObject(object, xStep, yStep)
  293. {
  294. var newX = getXPosition(object) + xStep;
  295. var newY = getYPosition(object) + yStep;
  296. setPosition(object, newX, newY);
  297. wrapAround_two(object);
  298. }
  299.  
  300.  
  301. onEvent("button_start_two", "click", function(event) {
  302. timedLoop(50, function() {
  303. hideElement("button_start_two");
  304. hideElement("image_info");
  305.  
  306. moveObject("image_germ_one", 1, 1);
  307. moveObject("image_germ_two", 2, 1);
  308. moveObject("image_germ_three", 1, 2);
  309. moveObject("image_germ_four", 2, 2);
  310.  
  311. moveObject("image_vaccine", 2, 2);
  312. moveObject("image_disinfectant", 2, 2);
  313. moveObject("image_sanitizer", 2, 2);
  314.  
  315. collisionDetection_two("image_germ_one", true);
  316. collisionDetection_two("image_germ_two", true);
  317. collisionDetection_two("image_germ_three", true);
  318. collisionDetection_two("image_germ_four", true);
  319.  
  320. collisionDetection_two("image_disinfectant", false);
  321. collisionDetection_two("image_sanitizer", false);
  322. collisionDetection_two("image_vaccine", false);
  323. });
  324.  
  325. });
  326.  
  327. function collisionDetection_two(object, isEnemy)
  328. {
  329. var drX = getXPosition("image_dr_two");
  330. var drY = getYPosition("image_dr_two");
  331. var objectX = getXPosition(object);
  332. var objectY = getYPosition(object);
  333.  
  334. var drWidth = getProperty("image_dr_two", "width");
  335. var drHeight = getProperty("image_dr_two", "height");
  336. var objectWidth = getProperty(object, "width");
  337. var objectHeight = getProperty(object, "height");
  338.  
  339. if(drX + drWidth >= objectX && drX <= objectX + objectWidth)
  340. {
  341. if(drY + drHeight >= objectY && drY <= objectY + objectHeight)
  342. {
  343. if(isEnemy && !gameOver) //isEnemy === true, gameOver !== true
  344. {
  345. gameOver = true;
  346. setScreen("screen_lose");
  347. }
  348.  
  349. else if(!isEnemy && !gameOver && !getProperty(object, "hidden"))
  350. {
  351. hideElement(object);
  352. toBeCollected--; //toBeCollected = toBeCollected -1
  353.  
  354. if(toBeCollected <= 0 & !gameOver)
  355. {
  356. gameOver = true;
  357. showElement("button_sc2_next");
  358. showElement("image_sc2_next");
  359. }
  360. }
  361. }
  362. }
  363.  
  364. onEvent("button_sc2_next", "click", function( ) {
  365. setScreen("screen_turn_based");
  366. });
  367.  
  368. if(toBeCollected === 2)
  369. {
  370. showElement("label_facts");
  371. setText("label_facts", "Follow local and international news! It's the best way to keep informed");
  372. }
  373.  
  374. if(toBeCollected === 1)
  375. setText("label_facts","When telling people about coronavirus, be calm, avoid exaggeration and make sure your information is correct");
  376. }
  377.  
  378. //these next lines of code are for screen_turn_based
  379.  
  380. onEvent("button_start_three", "click", function( ) {
  381. hideElement("button_start_three");
  382. setText("label_questions", "Can regularly rinsing your nose with saline help prevent infection with the new coronavirus?");
  383. showElement("button_yes");
  384. showElement("button_no");
  385. });
  386.  
  387. onEvent("button_yes", "click", function( ) {
  388. wbcHealth == (wbcHealth - 1);
  389. });
  390.  
  391. onEvent("button_no", "click", function( ) {
  392. virusHealth = (virusHealth - 1);
  393. });
  394.  
  395. if(wbcHealth === 3){
  396. showElement("wbc_3_health");
  397. hideElement("image_wbc_health_full");
  398. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement