Track
/
WebAssembly
WebAssembly
/
Esercizi
/
Simulatore di robot
Simulatore di robot

Simulatore di robot

Medio

Istruzioni

Scrivi un simulatore di robot.

Il centro di collaudo di una fabbrica di robot ha bisogno di un programma per verificare i movimenti dei robot.

I robot hanno tre movimenti possibili:

  • girare a destra
  • girare a sinistra
  • avanzare

I robot vengono collocati su una griglia infinita ipotetica, rivolti verso una direzione precisa (north, east, south o west), in corrispondenza di un insieme di coordinate {x,y}, ad esempio {3,8}, con le coordinate che aumentano verso north e verso east.

Il robot riceve poi una serie di istruzioni, dopodiché il centro di collaudo verifica la nuova posizione del robot e la direzione verso cui è rivolto.

  • La stringa di lettere «RAALAL» significa:
    • Girare a destra
    • Avanzare di due passi
    • Girare a sinistra
    • Avanzare di un passo
    • Girare ancora a sinistra
  • Diciamo che un robot parta da {7, 3} rivolto verso north. Allora, eseguendo questa sequenza di istruzioni, dovrebbe ritrovarsi in {9, 4} rivolto verso west.

La direzione verso cui è rivolto il robot sarà espressa con uno dei seguenti numeri:

  • North = 0
  • East = 1
  • South = 2
  • West = 3

Quando l'input non è valido, restituisci una direzione di -1 (gli altri valori verranno ignorati).

Memoria riservata

Il buffer per la stringa di input usa i byte da 64 a 319 della memoria lineare.

La stringa di input può essere modificata, se lo desideri.


Fonte

Ispirato a una domanda di colloquio presso un'azienda famosa.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
WebAssembly Exercism

Vuoi iniziare Simulatore di robot?

Iscriviti a Exercism per imparare e padroneggiare WebAssembly con 87 esercizi e il mentoring di persone reali, tutto gratis.