Guest User

Untitled

a guest
Feb 18th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. /**********************
  2. * superDrEvalBros.js *
  3. **********************
  4. *
  5. * You're still here?! Well, Dr. Eval, let's see
  6. * how well you can operate with one less dimension.
  7. *
  8. * Give up now. Unless you have a magic mushroom
  9. * up your sleeve, it's all over.
  10. */
  11.  
  12. function startLevel(map) {
  13. var fl = Math.floor;
  14. var w = map.getWidth();
  15. var h = map.getHeight();
  16.  
  17. map.placePlayer(1, fl(h/2)-1);
  18. var player = map.getPlayer();
  19.  
  20. map.placeObject(w-1, fl(h/2)-1, 'exit');
  21.  
  22. for (var x = 0; x < fl(w/2) - 5; x++) {
  23. for (var y = fl(h/2); y < h; y++) {
  24. map.placeObject(x, y, 'block');
  25. }
  26. }
  27.  
  28. for (var x = fl(w/2) + 5; x <= w; x++) {
  29. for (var y = fl(h/2); y < h; y++) {
  30. map.placeObject(x, y, 'block');
  31. }
  32. }
  33.  
  34. function gravity() {
  35. var x = player.getX();
  36. var y = player.getY() + 1;
  37.  
  38. if (y === map.getHeight() - 2) {
  39. player.killedBy("gravity");
  40. }
  41.  
  42. if (map.getObjectTypeAt(x,y) === "empty") {
  43. player.move("down");
  44. }
  45.  
  46. }
  47. map.startTimer(gravity, 45);
  48.  
  49. function jump() {
  50. map.defineObject('altBlock', {
  51. 'type': 'static',
  52. 'symbol': 'R',
  53. 'color': 'yellow',
  54. 'impassable': function (player, me) { return false; },
  55. 'onCollision': function (player, me) {
  56. me.giveItemTo(player, 'redKey');
  57. },
  58. 'behavior': function (me) {
  59. console.log("aaa")
  60. }
  61. });
  62.  
  63. map.placeObject(20, 12, 'altBlock');
  64. map.placeObject(21, 12, 'altBlock');
  65. map.placeObject(22, 12, 'altBlock');
  66. map.placeObject(23, 12, 'altBlock');
  67. map.placeObject(24, 12, 'altBlock');
  68. map.placeObject(25, 12, 'altBlock');
  69. map.placeObject(26, 12, 'altBlock');
  70. map.placeObject(27, 12, 'altBlock');
  71. map.placeObject(28, 12, 'altBlock');
  72. map.placeObject(29, 12, 'altBlock');
  73.  
  74.  
  75.  
  76.  
  77.  
  78. }
  79.  
  80. player.setPhoneCallback(function () {
  81. var x = player.getX();
  82. var y = player.getY() + 1;
  83.  
  84. if (map.getObjectTypeAt(x,y) !== "empty") {
  85. jump();
  86. }
  87. });
  88. }
  89.  
  90. function validateLevel(map) {
  91. map.validateExactlyXManyObjects(1, 'exit');
  92. map.validateExactlyXManyObjects(520, 'block');
  93. }
Add Comment
Please, Sign In to add comment