Klasse: Map

Die Klasse “Map” verwaltet die Spielkarte der Welt.

Attribute

Methoden

Methode "create_world"

Parameter

Returnwert

Beispiel

[
    {
        "xcoord": 7,
        "ycoord": 12
    },
    {
        "xcoord": 45,
        "ycoord": 3
    },
]

Beschreibung

Alle Ameisenvölker sollen vergleichbare Bedingungen beim Start des Spiels haben. Um eine Chancengleichheit zu gewährleisten, müssen für alle Völker …

Variante 1: Zufallskarte
Die Karte kann zufällig generiert werden.

Variante 2: Vordefinierte Kartenteile
Bei diesem Ansatz werden mehrere Varianten von Kartenteilen mit jeweils einem Hügel und 3-4 Nahrungsquellen definiert. Aus diesen Varianten dieser Teilkarten wählt das Programm eine Teilkarte aus, wobei für jedes Volk die gleiche Teilkarte verwendet wird. Diese Teilkarten werden gleichmässig angeordnet und allfällige Lücken mit zufälligen Feldern aufgefüllt.

Abbildung: Anordnung der Kartenteile für 3,4 und 6 Spieler

Methode "show_area"

Parameter

Response

Ein JSON-Array mit den Zuständen der Felder. Jedes Feld kann einen dieser Zustände haben:

Es wird immer nur der erste zutreffende Zustand ausgegeben.

Ist also in einem Feld eine eigene Ameise und Nahrung, wird nur ant angezeigt.

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.

Methode "show_map"

Parameter

Keine

Returnwert

Ein zweidimensionales Array (list) mit den Feldern der Karte. Jedes Feld kann einen dieser Zustände haben:

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”.

Ist also in einem Feld eine eigene Ameise und Nahrung, wird nur ant angezeigt.

Methode "add_ant"

Diese Methode setzt eine neue Ameise auf ein Feld.

Parameter

Returnwert

Keiner

Methode "remove_ant"

Diese Methode entfernt eine Ameise auf einem Feld.

Parameter

Returnwert

Keiner

Methode "move_ant"

Diese Methode bewegt eine Ameise von einem Feld zu einem anderen Feld in der Weltkarte. Dazu erhält sie die Startposition (x/y-Koordinaten) und die Zielposition (x/y-Koordinaten).

  1. Entferne die Ameise vom Startfeld.
  2. Füge beim Zielfeld eine Ameise hinzu.
  3. Ermittle die Angaben zum Zielfeld (siehe Returnwert).

Parameter

Returnwert

Der Returnwert ist eine Angabe zum Zielfeld:

Methode "change_food"

Die Methode ändert die Menge an Nahrung auf einem Feld.

Parameter

Returnwert

Keiner