Tracks
/
Erlang
Erlang
/
Übungen
/
Robotersimulator
Robotersimulator

Robotersimulator

Mittel

Anleitung

Schreibe einen Robotersimulator.

Die Testanlage einer Roboterfabrik braucht ein Programm, um die Bewegungen der Roboter zu überprüfen.

Die Roboter haben drei mögliche Bewegungen:

  • Nach rechts drehen
  • Nach links drehen
  • Vorrücken

Roboter werden auf einem hypothetischen, unendlichen Raster platziert und blicken in eine bestimmte Richtung (north, east, south oder west). Sie stehen auf bestimmten {x,y}-Koordinaten, zum Beispiel {3,8}, wobei die Koordinaten nach Norden und Osten hin zunehmen.

Danach erhält der Roboter eine Reihe von Anweisungen. Daraufhin überprüft die Testanlage die neue Position des Roboters und seine Blickrichtung.

  • Die Zeichenkette „RAALAL“ bedeutet:
    • Nach rechts drehen
    • Zweimal vorrücken
    • Nach links drehen
    • Einmal vorrücken
    • Und noch einmal nach links drehen
  • Angenommen, ein Roboter startet bei {7, 3} mit Blickrichtung north. Führt man diese Anweisungsfolge aus, sollte er anschließend bei {9, 4} mit Blickrichtung west stehen.

Implementierung

Für diese Übung brauchst du tatsächlich eine Art globalen Zustand für deinen Roboter. In Erlang geht das auf verschiedene Arten (beginnend mit der idiomatischsten):

  1. Verwende ein gen_* aus OTP.
  2. Baue deinen eigenen Prozess, empfange Nachrichten in einer Schleife und reiche den Zustand als Parameter weiter.
  3. Baue deinen eigenen Prozess und verwende das Prozess-Dictionary.

Quelle

Inspiriert von einer Interviewfrage bei einer bekannten Firma.
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Erlang Exercism

Bereit, mit Robotersimulator zu starten?

Melde dich bei Exercism an, um Erlang mit 85 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.