Rutas
/
WebAssembly
WebAssembly
/
Ejercicios
/
Simulador de robot
Simulador de robot

Simulador de robot

Media

Instrucciones

Escribe un simulador de robots.

El centro de pruebas de una fábrica de robots necesita un programa para verificar los movimientos de los robots.

Los robots tienen tres movimientos posibles:

  • girar a la derecha
  • girar a la izquierda
  • avanzar

Los robots se colocan en una cuadrícula infinita hipotética, mirando en una dirección concreta (north, east, south o west) en un conjunto de coordenadas {x,y}, por ejemplo, {3,8}, con las coordenadas aumentando hacia el norte y el este.

El robot recibe entonces una serie de instrucciones, momento en el que el centro de pruebas verifica su nueva posición y hacia dónde apunta.

  • La cadena de letras «RAALAL» significa:
    • Girar a la derecha
    • Avanzar dos veces
    • Girar a la izquierda
    • Avanzar una vez
    • Girar a la izquierda una vez más
  • Supongamos que un robot parte de {7, 3} mirando al norte. Entonces, al ejecutar esta secuencia de instrucciones, debería acabar en {9, 4} mirando al oeste.

La dirección a la que mira el robot se expresará como uno de los siguientes números:

  • Norte = 0
  • Este = 1
  • Sur = 2
  • Oeste = 3

Cuando la entrada no sea válida, devuelve una dirección de -1 (los demás valores se ignorarán).

Memoria reservada

El búfer para el string de entrada usa los bytes 64-319 de la memoria lineal.

El string de entrada se puede modificar si se desea.


Fuente

Inspirado en una pregunta de entrevista en una empresa famosa.
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
WebAssembly Exercism

¿Listo para empezar Simulador de robot?

Regístrate en Exercism para aprender y dominar WebAssembly con 87 ejercicios y mentoría humana real, todo gratis.