Il re Julian deve attraversare la giungla, ma si sente pigro. Vuole che un computer sia in grado di calcolare un percorso attraverso la giungla per lui.
Usando STDIN ottieni una mappa della giungla per il crack del computer. Seguirà il seguente formato:
01001E
010110
000P00
1100J1
S00111
Il modo in cui funziona la mappa della giungla è:
0 è il terreno che Julian può percorrere.
1 è una fitta giungla invalicabile.
P è un'area in cui sono presenti i predatori, che devi evitare a tutti i costi.
Jè una giungla relativamente fitta. I servi di Julian possono sfondare uno di questi prima di stancarsi.
Sè dove inizia Julian. Può essere ovunque sulla mappa.
Eè dove Julian vuole andare; la fine del percorso. Può anche essere ovunque sulla mappa, proprio come qualsiasi altra tessera.
Ogni personaggio è una tessera sulla mappa. Le interruzioni di riga indicano una nuova riga di riquadri. Se STDIN nella tua lingua non supporta le interruzioni di riga, l'interruzione di riga deve essere sostituita da uno spazio per indicare una nuova riga.
Per spostarsi tra i riquadri, è necessario emettere una stringa utilizzando STDOUT contenente i seguenti caratteri speciali:
F - Avanti
B - Indietro
L - Ruota Julian a sinistra (90 gradi in senso antiorario)
R - Ruota Julian a destra (90 gradi in senso orario)
M- I servi distruggono una Jtessera 1 tessera in avanti da Julian, se ce n'è una ( Mcancella solo la tessera, devi ancora spostarti su di essa)
Un possibile output sarebbe:
RFFLFRFMFLFRFLFF
Che risolve la mappa sopra.
Appunti:
Se il tuo programma genera una soluzione che colpisce i predatori, game over.
Se colpisci la giungla invalicabile, ritorni a dove eri prima di imbatterti nella fitta giungla, affrontando la stessa strada. (Verso la giungla)
Julian inizia a guardarsi verso l'alto. (^ In questo modo ^)
L'output non deve essere la soluzione più veloce
FFFeFBFBFBFBFBFFFsono gli stessi. Tuttavia, l'output della soluzione più veloce possibile offre un bonus di conteggio dei byte del -10%.Se una mappa non è valida, STDOUT "Mappa non valida". (Ciò include se la mappa è irrisolvibile)
Una mappa non può avere righe o colonne di lunghezze diverse; questo lo rende non valido.
La tua risposta dovrebbe in qualche modo seguire questo formato:
#Language name, *n* bytes
code
Explanation (optional)
Questo è code-golf , quindi vince il codice più breve in byte.
Ptessera aggiunge davvero qualcosa di diverso da una 1tessera? Non riesco davvero a immaginare una soluzione plausibile che li tratta in modo diverso.