Dieses Klassendiagramm zeigt die wichtigsten Klassen zur Darstellung der neuen GUI und zur Verwaltung der Felder mitsamt Inhalt.

    Klasse Beschreibung
    ArenaFrame Das Hauptfenster des Spiels, in dem die Klasse ArenaCanvas, die das Spielfeld zeichnet, sowie die Statusanzeige dargestellt wird.
    ArenaCanvas Realisiert die Darstellung der Arena (Waben und evtl. Inhalt) auf einer Zeichenfläche.
    ArenaDesigner Startet den Spielfeld-Editor.
    ArenaDesignerFrame Hauptfenster des Spielfeld-Editors.
    ArenaDesignerCanvas Erweitert die Zeichenfläche der Waben um Mausabfragen für den Editor.
    ArenaImages Speichert alle Bilder, die zur Darstellung der Arena und der Objekte benötigt werden.
    Arena Klasse, die für den Spielablauf verantwortlich ist, der zum größten Teil in der Methode run abläuft:
    • Aufruf der Methode oneTurn:
      • Ermitteln einer zufälligen Roboter-Reihenfolge mit Hilfe der Methode mixRobots.
      • Befehl von jedem Roboter erfragen, der über die Methode executeCommand ausführt wird.

    • Aufruf der Methode exchangeManagment:
      • Ermitteln einer zufälligen Roboter-Reihenfolge mit Hilfe der Methode mixRobots.
      • Kartentausch erfragen und evtl. durchführen (siehe Sequenzdiagramme).
    Card Eine Spielkarte in der Arena.
    Exit Der Ausgang aus der Arena.
    Fields Diese Klasse ist verantwortlich für die Speicherung aller für das Spiel relevanten Daten. Aus Gründen der Effizienz werden die Spielfelder in einer Matrix des Typs Field gespeichert. Die Klasse Fields soll das Serializable Interface implementieren, um das Speichern und Laden aller wichtigen Daten als Objekt-Stream zu ermöglichen.
    Field Speichert die Informationen eines Spielfeldes; zeigt die Item-Referenz auf "null", so handelt es sich um ein leeres Feld, also um einen Boden.
    Identifyable Alle Spielfelder und Objekte sollten das Identifyable-Interface implementieren, damit der Roboter diese eindeutig identifizieren kann.
    Item Oberklasse aller Objekte (Robot, Card, Wall, Well, Exit, Wormhole), die sich auf einem Feld befinden können; mit instanceof kann man herausfinden, um welches Objekt es sich handelt.
    Robot Speichert die Daten eines Roboters.
    Wall Eine Wand.
    Well Ein Brunnen.
    Wormhole Ein Wurmloch, welches mit einem weiteren Wurmloch verbunden ist.