Objective-C :: Aufgabe #206

0 Lösungen

Interaktiv Königinswache (Agon) spielen

Fortgeschrittener - Objective-C von hollst - 08.03.2019 um 15:13 Uhr
Agon ist ein Zweimannbrettspiel, dass vor gut 200 Jahren in England oder Frankreich kreiert wurde. Das Brett besteht aus 91 Hexagonen, die um ein Zentralfeld in fünf "Ringen" angeordnet sind. Jeder Spieler hat sechs Wachen und eine Königin, daher wird das Spiel manchmal auch Königinswache genannt. Das Spielbrett und die Ausgangsstellung sind im Bild_1 dargestellt.

Es wird abwechselnd gezogen, Weiß beginnt (oder es wird ausgelost, wer beginnt). Dabei gelten folgende Zugregeln:

1. Jeder Stein kann einen Schritt entweder auf seinem aktuellen Ring nach "rechts" oder "links" ausführen bzw. vorwärts in Richtung eines niederwertigen Ringes, niemals jedoch rückwärts auf ein höherwertiges Ringfeld (Bild_2). Das avisierte Feld muss natürlich frei sein, "Schlagen" ist nicht erlaubt. Der nullte Ring (Zentralfeld) darf nur von einer Königin betreten werden.

2. Von besonderer, spielstratigischer Bedeutung sind sogenannte Sandwichkonstellationen auf dem Brett. Eine solche Konstellation entsteht, wenn ein Stein (in gerader Linie) von zwei generischen Steinen eingeschlossen ist (Bild_3). Züge, die zu einer Selbsteinschließung führen würden, sind allerdings verboten. Ist man jedoch durch einen gegnerischen Zug eingeschlossen worden, muss diese Situation mit dem nächsten Zug sofort aufgelöst werden:

a) Ist der eingeschlossene Stein ein Wächter, muss er auf ein freies Feld des Außenringes gesetzt werden (allerdings nicht auf ein Sandwichfeld!).
b) Ist der eingeschlossene Stein die Königin, so kann sie auf irgendein freies Feld des Brettes gesetzt werden mit Ausnahme des Zentralfeldes.
c) Sind mehrere Steine "gesandwicht" (z. B. W-S-(W)-S-W, wobei (W) bedeutet, dass sich im letzten Zug dort ein weißer Stein platziert hat), so ist dies entsprechend Zug um Zug aufzulösen. Erst danach kann man wieder frei und willkürlich ziehen.

Das Ziel für jeden Spieler ist es, seine Dame mit Hilfe der Wachen auf dem Zentralfeld zu platzieren und sie durch Besetzung des innersten Ringes mit Wachsteinen vollständig zu schützen (Bild_4 + Bild_5). In diesem Fall ist das Spiel gewonnen.

Die Programmieraufgabe bestehe nun darin, einen Code zu entwickeln, der es ermögtlicht, Argon interaktiv auf dem Desktop zu spielen. Die Züge sollen dabei mit der Maus per Pick-Move-Drop ausgeführt werden. Eine Überwachung des vorgesehenen Zuges auf Gültigkeit ist selbstredend zu integrieren.

Optional:
Der Gipfel der Programmierkunst wäre natürlich, wenn einer der zwei Spieler der Computer wäre.

So, mit dieser harten Nuss wünsche ich viel Spaß und Erfolg!

Lösungen:

Für diese Aufgabe gibt es noch keine Lösung.