Diese Aufgabe dient zur Vorbereitung des Um-die-Wette-Kisten-schieben-Spiels auf dem Kreuz-Spielfeld mit Ampel. Es wird in dieser Aufgabe ohne konkretes Spielfeld, d.h. ohne Straßen, Ampeln etc. gespielt, die ganze Fläche ist für einen Roboter freigegeben.
Die Aufgabe 1 ist unterteilt in folgende Teilaufgaben:
- Schreiben Sie einen JUnit-Test für folgendes Szenario (Simulation ohne GUI): Eine Kiste wird an die Position (50, 150) gesetzt. Der Roboter startet in der Spielfeldmitte. Die Kiste ist nun parallel zur X-Achse 300 Einheiten weit zu schieben. Die Endpositionen werden vom JUnit-Test geprüft. Überlegen Sie, welche Schnittstelle ihre Robotersteuerung haben wird (evtl. leere Klassen anlegen, Test muss nicht erfolgreich sein).
- Beschreiben Sie (handschriftlich) einen Algorithmus zum Finden der richtigen Position und Ausrichtung des Roboters zum Kisten schieben.
- Implementieren Sie die Robotersteuerung zum Kisten-Schieben. Beachten Sie, dass der Roboter die Kiste jederzeit verlieren kann – es muss dann neu angesteuert/aufgesetzt werden.
- Implementieren Sie eine Demo (Simulation mit GUI)! Die Kiste soll mit der Maus bewegt werden können!
- Zusatzteil: Implementieren Sie eine Selbst-Kalibration des Roboters: Radgröße und Abstand sollen automatisch erkannt werden.
Abgabe Teilaufgabe 1 bis Mittwoch 5.5. 12:00 Uhr, Rest bis Mittwoch 12.5. 12:00 Uhr, Abgabe im mindss10-CVS-Repository unter frei wählbarem Modulnamen (z.B. BoxMoveGame_<Initialien>)