• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Oct 20th, 2019 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
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.         var x = player.getX()+1;
51.         var y = player.getY()+1;
52.         if(map.getObjectTypeAt(x-1,y+1) == "block")  {
53.         map.defineObject('barrier', {
54.         'symbol': '░',
55.         'color': 'purple',
56.         'impassable': true,
57.         'passableFor': ['robot']
58.         });
59.         }
60.         map.placeObject(x,y,"barrier");
61.
62.
63.
64.
65.
66.
67.     }
68.
69.     player.setPhoneCallback(function () {
70.         var x = player.getX();
71.         var y = player.getY() + 1;
72.
73.         if (map.getObjectTypeAt(x,y) !== "empty") {
74.             jump();
75.         }
76.     });
77. }
78.
79. function validateLevel(map) {
80.     map.validateExactlyXManyObjects(1, 'exit');
81.     map.validateExactlyXManyObjects(520, 'block');
82. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top