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:
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.
In dieser Übung ist dir vielleicht aufgefallen, dass das Stub Getter wie getX() definiert, die Tests aber direkt über .x auf den Wert zugreifen. Das liegt daran, wie Groovy Eigenschaften definiert. Schauen wir es uns genauer an:
Die wichtigsten Punkte zu Eigenschaften in Groovy:
final markiert ist).In dieser Übung haben wir nur die erforderlichen Getter (und damit, wie oben beschrieben, Eigenschaften) angegeben, um eine korrekte Implementierung zu erzwingen. Du kannst selbst entscheiden, welche Felder (und welche Typen) für deine Lösung am besten geeignet sind.
Wenn du dich tiefer mit Feldern und Eigenschaften beschäftigen möchtest, schau in Kapitel 3.3. Felder und Eigenschaften in der Groovy-Dokumentation nach.
Melde dich bei Exercism an, um Groovy mit 66 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.