Frage:
Level 15 (außergewöhnlichCrossing.js)?
Schilcote
2014-04-11 09:17:30 UTC
view on stackexchange narkive permalink

Ich stecke auf Level 15 von Untrusted fest.

Ich bin so weit gekommen, ohne dass ich Javascript wirklich kenne, außer C zu kennen und davon auszugehen, dass die Dinge gleich sind. Ich sehe keine mögliche Lösung für dieses Rätsel ohne einen Trick der Sprache, die ich nicht kenne - egal was ich dort eingebe, player.killedBy () wird aufgerufen und der Professor wird sterben.

Irgendwelche Hinweise?

Sieben antworten:
SysDragon
2014-04-11 12:47:22 UTC
view on stackexchange narkive permalink

Eigentlich können Sie das Level ohne Ausnahme bestehen, indem Sie einfach den Code hacken:

[Zeile 32] player.killedBy ('
');},' onCollision ': function (player) {map.getWidth (
);

Ersetzen Sie einfach die Aktion "onCollision" erneut durch eine Funktion das macht nichts.
enter image description here

Dann können Sie auf dem Wasser laufen !!

Ich hasse es, dass ich deine Lösung liebe.Herzlichen Glückwunsch zum Einfallsreichtum.
Chris
2014-04-11 16:15:45 UTC
view on stackexchange narkive permalink

Sie können dort alles einfügen, was nicht existiert. zB

  player.killedBy (nichts);  

Wenn Sie ins Wasser gehen, wird eine Fehlermeldung ausgegeben, weil nichts existiert nicht.

Paul Sullivan
2014-04-13 03:37:16 UTC
view on stackexchange narkive permalink

Sie können die Kollisionserkennungsroutine verketten und kurzschließen, dh

  map.defineObject ('water', {'symbol': '░', 'color': '# 44f' , 'onCollision': function (player) {player.killedBy ('' + map.placePlayer (1,1));}});  
Schilcote
2014-04-11 09:26:24 UTC
view on stackexchange narkive permalink

Natürlich ist der Hinweis im Namen.

Sie müssen eine Ausnahme auslösen.

Aber wie?Diese Antwort ist ohne Anweisungen irgendwie nutzlos, meinst du nicht auch?
Ich wollte es eher als Hinweis.
Lukas Thanei
2014-04-30 20:56:34 UTC
view on stackexchange narkive permalink

Ich mag diesen Weg:

  player.killedBy (function () {wirf 'Ich bin Jesus';} ());  
user74688
2014-04-19 11:30:12 UTC
view on stackexchange narkive permalink

Sie können kein Wasser überqueren, aber Sie können es aufheben.

  map.defineObject ('Wasser', {'Symbol': '░', 'Farbe': '# 44f ',' onCollision ': function (player) {player.killedBy ();},' type ':' item ',' behav ': function (me) {me.move (' up ');}});  
Tatikoma
2014-04-15 04:06:00 UTC
view on stackexchange narkive permalink

Sie können auch eine unendliche Rekursion verwenden.

plater.killed By ((function () {x = function () {x ();}; x ();}) ());



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...