König Julian muss durch den Dschungel, aber er fühlt sich faul. Er möchte, dass ein Computer für ihn eine Route durch den Dschungel berechnen kann.
Mit STDIN erhalten Sie eine Karte des Dschungels, die der Computer knacken kann. Es wird folgendes Format haben:
01001E
010110
000P00
1100J1
S00111
Die Funktionsweise der Dschungelkarte ist:
0 ist der Grund, warum Julian sich fortbewegen kann.
1 ist dichter unpassierbarer Dschungel.
P ist ein Gebiet mit Raubtieren, das Sie unbedingt meiden müssen.
Jist relativ dicker Dschungel. Julians Schergen können eine davon durchbrechen, bevor sie ermüden.
SHier beginnt Julian. Es kann überall auf der Karte sein.
Eist, wohin Julian gehen will; das Ende des Weges. Es kann sich auch überall auf der Karte befinden, genau wie bei jeder anderen Kachel.
Jedes Zeichen ist eine Kachel auf der Karte. Zeilenumbrüche kennzeichnen eine neue Kachelreihe. Wenn STDIN in Ihrer Sprache keine Zeilenumbrüche unterstützt, muss der Zeilenumbruch durch ein Leerzeichen ersetzt werden, um eine neue Zeile zu kennzeichnen.
Um zwischen den Kacheln zu wechseln, müssen Sie eine Zeichenfolge mit STDOUT ausgeben, die die folgenden Sonderzeichen enthält:
F - Nach vorne
B - Rückwärts
L - Julian nach links drehen (90 Grad gegen den Uhrzeigersinn)
R - Julian nach rechts drehen (90 Grad im Uhrzeigersinn)
M- Günstlinge zerstören ein JPlättchen 1 vorwärts von Julian, wenn es eines gibt ( Mräumt das Plättchen einfach aus, du musst immer noch darauf ziehen)
Eine mögliche Ausgabe wäre:
RFFLFRFMFLFRFLFF
Welches löst die Karte oben.
Anmerkungen:
Wenn Ihr Programm eine Lösung ausgibt, die Raubtiere trifft, ist das Spiel vorbei.
Wenn Sie auf unpassierbaren Dschungel treffen, springen Sie einfach dorthin zurück, wo Sie sich befanden, bevor Sie in den dichten Dschungel gerieten und auf die gleiche Weise dastanden. (In Richtung Dschungel)
Julian fängt an nach oben zu schauen. (^ Auf diese Weise ^)
Die Ausgabe muss nicht die schnellste Lösung sein
FFFundFBFBFBFBFBFFFist dieselbe. Die Ausgabe der schnellstmöglichen Lösung bietet jedoch einen Bonus von -10% für die Bytezahl.Wenn eine Karte ungültig ist, STDOUT "Ungültige Karte". (Das schließt ein, wenn die Karte unlösbar ist)
Eine Karte kann keine Zeilen oder Spalten unterschiedlicher Länge haben. das macht es ungültig.
Ihre Antwort sollte ungefähr so aussehen:
#Language name, *n* bytes
code
Explanation (optional)
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes.
PKachel wirklich etwas anderes als eine 1Kachel hinzu? Ich kann mir keine plausible Lösung vorstellen, die sie anders behandelt.