3. Welt-Service

Der Welt-Service erzeugt die Spielwelt und liefert Informationen über die Umwelt. Die Kommunikation erfolgt über einen Socket.

Initialisierung

Beim Start des Programms registriert sich dein Programm beim Discovery-Service.

Als Antwort sendet der Discovery-Service OK oder ERROR. Bei ERROR muss das Programm abbrechen.

Das Programm erzeugt ein neues Objekt der Klasse “Map”.

Spielablauf

Das Programm öffnet einen Socket unter der oben registrierten Adresse/Port. Auf diesem Socket wartet das Programm auf Nachrichten.

Aktionen

Neue Welt

Das Programm erzeugt eine neue Spielwelt und platziert die Ameisenhügel auf der Karte.

Request

Ein JSON-Objekt mit den Attributen:

Response

Ein JSON-Array mit den Koordinaten aller Ameisenhügel.

[
  {"xcoord": n, "ycoord": m},
  {"xcoord": n, "ycoord": m},
  ...
]

Umgebung

Das Programm liefert die Umgebung einer Ameise, abhängig von der Sichtweite.

Request

Ein JSON-Objekt mit den Attributen:

Response

Ein JSON-Array mit den Zuständen der Felder. Die Reihenfolge der Felder ist immer von oben links nach unten rechts.

Dieses Beispiel zeigt die Umgebung einer Ameise mit einer Sichtweite 2. Die Ziffern entsprechen der Reihenfolge in der Response.

Karte

Das Programm liefert die vollständige Karte. Nur autorisierte Services dürfen diese Aktion ausführen.

Request

Ein JSON-Objekt mit den Attributen:

Response

Ein JSON-Array mit den Angaben zur Welt.

Beenden

Erhält das Programm eine Nachricht mit “action”: “quit”, so wird das Programm beendet:

  1. Sende eine Antwort mit OK über den Socket.
  2. Schliesse den Socket
  3. Beende das Programm.

Objekte und Methoden