Introducción
"¡Yarr! ¡Tuvimos un muchacho que se hacía llamar" programador "para hacer un mapa de nuestro tesoro escondido! ¡Pero está escrito con números y letras extraños!" E5, N2, E3 "... ¿qué hace? "¡Locura! ¡Ni siquiera puedo escribir un mapa del tesoro apropiado, cretino inútil. ¡Arreglalo para nosotros! ¡Te regalaremos una parte del tesoro!"
Descripción del desafío
Un grupo de piratas tiene problemas para leer un mapa del tesoro. ¿Puedes escribir un programa para convertirlo en una forma más ... de piratería?
Como entrada, recibirá el mapa del tesoro original. Es una lista de cadenas separadas por comas, cada cadena que consiste en una porción de letra (que le dice a los piratas en qué dirección deben caminar), y una porción de número (que les dice a los piratas cuántos pasos deben tomar en esa dirección). Por ejemplo, el siguiente mapa del tesoro:
E2,N4,E5,S2,W1,S3
significaría: "camina dos pasos hacia el este, camina cuatro pasos hacia el norte, camina cinco pasos hacia el este, camina dos pasos hacia el sur, camina un paso hacia el oeste, luego camina tres pasos hacia el sur".
Como salida, tendrá salida el mapa en una forma gráfica, el uso de los caracteres >
, ^
, v
, y <
como punteros. Aquí está la salida para la entrada anterior:
>>>>>v
^ v
^ v<
^ v
>>^ X
Tenga en cuenta que hemos reemplazado el último paso hacia el sur con un X
lugar. Esto se debe a que el último paso es donde está el tesoro, y como todos sabemos, los piratas deben tener una X en sus mapas del tesoro, de lo contrario no sabrán cómo leerlo.
Por cierto, el mapa nunca se cruzará, por lo que no debe preocuparse por las superposiciones. Además, puede tener una nueva línea final al final de la salida.
Entradas y salidas de muestra
S5,W2
v
v
v
v
v
X<
N1,E1,S1,E1,N1,E1,S2
>v>v
^>^X
N1
X
N6,E6,S6,W5,N5,E4,S4,W3,N3,E2,S2,W1,N2
>>>>>>v
^>>>>vv
^^>>vvv
^^^Xvvv
^^^^<vv
^^^<<<v
^^<<<<<
E21,S2
>>>>>>>>>>>>>>>>>>>>>v
X
N12,E11,S12,W2,N4
>>>>>>>>>>>v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ v
^ X v
^ ^ v
^ ^ v
^ ^<<
X
debería marcar el paso después del último movimiento, como todos los demás movimientos se cuentan. Imagina que el último paso es N3: caminas tres pasos hacia el norte y cavas, pero no hay nada aquí, tuviste que caminar 2 pasos en su lugar. No me importa si mantienes la regla existente, porque agrega un pequeño caso de esquina para manejar. Pero recuerda lo que le pasó a ese muchacho.