Auftrag 2a: Weltkarte anzeigen
Das Programm zeigt die Karte der Spielwelt in einem Webbrowser an.
Programmaufbau und -ablauf
Das Programm besteht aus einer HTML- und einer oder mehreren Javascript-Dateien. Es sendet in regelmässigen Abständen einen Request an den World Service um die Karte der Spielwelt zu erhalten. Diese Spielwelt wird dann am Bildschirm angezeigt.
Intialisierung
Wenn die HTML-Seite geladen wird, muss die Applikation zunächst die Adresse und den Port des Welt-Services abfragen. Dazu sendet das Programm einen Request an den Discovery-Service.
action: „query“
type: „world“
Die Adresse und den Port des World-Services wird in der Applikation gespeichert.
Falls der Discovery-Service eine leere Antwort liefert, wird dem Benutzer eine Meldung „Keine Spielwelt gefunden“ angezeigt. Über den Reload-Button kann der Benutzer die Initialisierung neu starten.
Weltkarte anzeigen
Request
Die Applikation sendet in regelmässigen Abständen einen Request an den World-Service.
Bei diesem Request muss ein Token mitgesendet werden.
Für unsere Applikation besteht das Token aus einem Passwort geheim
.
action: „map“
token: „Geheim“
Response
Ein JSON-Array mit den Angaben zur Welt.
xsize
: Breite der Weltysize
: Höhe der Weltfields
: Zweidimensionales Array mit allen Feldern der Welt.
Anhand der Angaben in der Response wird die Weltkarte im Browser angezeigt.
Ein JSON-Array mit den Zuständen der Felder. Jedes Feld kann einen dieser Zustände haben:
- water: Das Wasser bildet eine natürliche Barriere, die deine Ameisen nicht überwinden können.
- hill COLOR: Der Ameisenhügel eines anderen Volks.
- ant COLOR: Eine Ameise eines anderen Volks.
- food: Auf diesem Feld liegt 1 - 99 Nahrung, die Menge an Nahrung ist nicht bekannt.
- empty: Ein leeres Feld auf das deine Ameise laufen kann.
Es wird immer nur der erste zutreffende Zustand ausgegeben. Zusätzlich wird bei ant und hill die Farbe mitgegeben, z.B. „ant red“, „hill blue“.