Parcours
/
WebAssembly
WebAssembly
/
Exercices
/
Simulateur de robot
Simulateur de robot

Simulateur de robot

Moyen

Instructions

Écris un simulateur de robot.

Le centre de tests d'une usine de robots a besoin d'un programme pour vérifier les déplacements des robots.

Les robots disposent de trois déplacements possibles :

  • tourner à droite
  • tourner à gauche
  • avancer

Les robots sont placés sur une grille infinie hypothétique, orientés dans une direction particulière (north, east, south ou west) à un ensemble de coordonnées {x,y}, par exemple {3,8}, les coordonnées augmentant vers le nord et vers l'est.

Le robot reçoit alors une série d'instructions, après quoi le centre de tests vérifie sa nouvelle position et la direction dans laquelle il pointe.

  • La chaîne de lettres « RAALAL » signifie :
    • Tourner à droite
    • Avancer deux fois
    • Tourner à gauche
    • Avancer une fois
    • Tourner à gauche encore une fois
  • Imaginons qu'un robot démarre à la position {7, 3}, orienté vers le nord. L'exécution de cette suite d'instructions doit alors le laisser à la position {9, 4}, orienté vers l'ouest.

La direction vers laquelle le robot regarde est exprimée par l'un des nombres suivants :

  • Nord = 0
  • Est = 1
  • Sud = 2
  • Ouest = 3

Lorsque l'entrée est invalide, renvoie une direction de -1 (les autres valeurs seront ignorées).

Mémoire réservée

Le tampon de la string d'entrée utilise les octets 64-319 de la mémoire linéaire.

La string d'entrée peut être modifiée si on le souhaite.


Source

Inspiré par une question d'entretien dans une entreprise célèbre.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
WebAssembly Exercism

Prêt à commencer Simulateur de robot ?

Inscris-toi sur Exercism pour apprendre et maîtriser WebAssembly avec 87 exercices, et un vrai mentorat humain, le tout gratuitement.