+ Backend Spezifikation
- Server -> Robbi: goto(cmd1,ingo)
- Robbi -> Karte: sucheStation("ingo") => 5
- Robbi: fahreZu(5)
- Robbi: neuesZiel(5)
- Robbi -> Karte erzeugePfad(2,5) => [2,4,5]
- Robbi: neuerPfad([2,4,5])
( der Robbi fährt dahin -- der update-Thread des Robbi setzt dann ein Flag )
- Robbi -> Server: success(cmd1)
- Robbi -> Server: failure(cmd1) (Fehler: Tür zu, sonst. Hindernis)
- Robbi -> Vis: Position (nur wenn eine Station erreicht) Visualisierung zeigt, welcher Punkt erreicht ist und wohin er sich anschließend bewegen will
(Wie der Robbi mit dem Parser redet: siehe
ParserProtokolle; wie die Raeume heissen: siehe
EindeutigeRaumBezeichner)
++ Karte
- Wände
- Stationen
- erzeugePfad
++ Robbi
- main-Methode (kümmert sich um das Socket)
- update-Methode (kümmert sich um die Bewegung des Roboters)
- neuesZiel
- neuerPfad
- loeschePfad
++ Visualisierung
- zeigt nur die Sicht, die der Roboter hat (z.B. Zustand der Tür nach Öffnen)
- geschlossene Türen werden nicht interaktiv geöffnet, sondern durch sprachliches Kommando
(mehr dazu in der
JavaDoc-Dokumentation).
--
YannickVersley - 11 Apr 2003