Mailinglisten-Archive |
> Sprich ein Kartennachbar hängt dann in einem Array und hat als Key seine Himmelsrichtung. > Ebenfalls für Straßen. Und wie hängen die Siedlungen/Städte da hinein? Auch über Himmelsrichtungen? > Verstehe nicht so ganz, wie ich dann überprüfungen auf Nachbarn vornehmen soll. Ich muss ja z.B. beim Bau eines Gebäudes > sehen, dass an den Banchbarten Knoten kein Gebäude ist. Voraussetzung: $Karten[5]->O = 12 und $Karten[12]->W = 5, sowie Spieler-Nummer liegt in SpielerID Spieler will neue Straße Bauen und klickt auf den Bereich zwischen Karte 5 und 12: 1.Fall: Das Feld ist garnicht leer Ist $Karten[5]->Strassen->O != leer => Fehler "Es liegt schon eine Strasse an der gewünschten Stelle" 2.Fall: Anlegen der Straße ist gerechtfertigt, da der Spieler schon eine Strasse hat, die zu diesem Feld führt Ist $Karten[5]->Strassen->NO == SpielerID oder $Karten[5]->Strassen->SO == SpielerID oder $Karten[5]->O->Strassen->NW == SpielerID oder $Karten[5]->O->Strassen->SW == SpielerID => Strasse darf angelegt werden, entsprechende Verweise werden gesetzt 3.Fall: Spieler hat Ort/Stadt auf einem Knoten und ist daher berechtigt eine Straße zu bauen Ist $Karten[5]->Gebaeude->2 == SpielerID oder $Karten[5]->Gebaeude->3 == SpielerID => Strasse darf angelegt werden (Ich nummeriere hier die Knoten der Karte im Uhrzeigersinn durch) Werden natürlich immer sehr viele Verweise, aber dann steigt man durch die Spiellogik auch noch durch und das aussehen des Spielfeldes spielt eigentlich keine Rolle, denn es gibt ja noch Erweiterungen des Spiels, die hier durch Vererbung leicht realisiert werden können. Gruß Marco (Ich hoffe ich hab das Spiel soweit noch richtig im Kopf, schon lange nicht mehr gespielt)
php::bar PHP Wiki - Listenarchive