Spaces:
Running
Running
File size: 3,326 Bytes
87b3b3a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# Autonomous Robot
## donmccurdy
```javascript
map.defineObject('robot', {
// ...
'behavior': function (me) {
if (me.canMove('down')) {
me.move('down');
} else if (me.canMove('right')) {
me.move('right');
}
}
});
```
# Portal style
## JustBlackBird
Just press "R" and go through the portals
```javascript
if (player.teleportersAreReady) {
// Do not add teleporters more than once
return;
}
// Place two teleporters at the map
map.placeObject(player.getX(), player.getY() - 1, 'teleporter');
map.placeObject(map.getWidth() - 2, 7, 'teleporter');
// We need teleporters objects, so find them
var objs = map.getDynamicObjects();
var teleporters = [];
for (var i = 0, len = objs.length; i < len; i++) {
if (objs[i].getType() == 'teleporter') {
teleporters.push(objs[i]);
}
}
// Link teleporters one to another
teleporters[0].setTarget(teleporters[1]);
teleporters[1].setTarget(teleporters[0]);
// We need an indicator to know if teleporters already
// in place or not. Use "player" object from the closure
player.teleportersAreReady = true;
```
# Remote Control
## sheaulle
```javascript
// works with levels 11, 12, 13
var PX = map.getPlayer().getX();
var PY = map.getPlayer().getY()-10;
var MX = me.getX();
var MY = me.getY();
if (PX == MX && PY > MY) {
me.move('down');
}
else if (PX == MX && PY <= MY) {
me.move('up');
}
else if (PX > MX) {
me.move('right');
}
else if (PX < MX) {
me.move('left');
}
```
##Pcat0
Hit 'q' to toggle between controlling you and the robot. Works for 11, 12, 13
```javascript
me.move(dr);
}
});
var Pc = 0;
var dr = '';
map.getPlayer().setPhoneCallback(function(){
if ((Pc++)%2==0){
map.overrideKey('down', ()=> dr = 'down');
map.overrideKey('up', ()=> dr = 'up');
map.overrideKey('left', ()=> dr = 'left');
map.overrideKey('right', ()=> dr = 'right');
}else{
map.overrideKey('down', ()=> map.getPlayer().move('down'));
map.overrideKey('up', ()=> map.getPlayer().move('up'));
map.overrideKey('left', ()=> map.getPlayer().move('left'));
map.overrideKey('right', ()=> map.getPlayer().move('right'));
dr = '';
}
});({function(){
```
# Control pad (works for 11, 12, 13)
## mingp
```javascript
if (typeof(me.controlInited == 'undefined')) {
me.controlSquares = [
[40, 20, 'up', 'red'],
[39, 21, 'left', 'yellow'],
[41, 21, 'right', 'cyan'],
[40, 22, 'down', 'magenta']
];
for (var i = 0; i < me.controlSquares.length; ++i) {
var controlSquare = me.controlSquares[i];
map.setSquareColor(
controlSquare[0],
controlSquare[1],
controlSquare[3]
);
}
me.controlInited = true;
}
for (var i = 0; i < me.controlSquares.length; ++i) {
var controlSquare = me.controlSquares[i];
if (
player.getX() == controlSquare[0]
&& player.getY() == controlSquare[1]
) {
me.move(controlSquare[2]);
break;
}
}
```
|