FlowerWarsPP
FlowerWarsPP ist eine Variation des Spiels Ponte del Diavolo.
Motivation
Die Gebrüder Gartenpfleger Torsten und Torben streiten sich um Tamara und möchten sie durch das Herrichten einer hübschen Gartenlandschaft beeindrucken. Leider müssen sich die beiden die Wiese hierfür teilen. Wer schafft es die meisten Gärten zu bepflanzen und diese zu verzieren indem sie durch Gräben miteinander verbunden werden?
Das Spiel
FlowerWarsPP ist ein Spiel für zwei Spieler, die mit den Farben Rot und Blau spielen. Das Ziel beider Spieler ist es eine Wiese so weit wie möglich mit Gärten zu bepflanzen.
Das Spielbrett
Gespielt wird auf einem dreieckigen Spielbrett mit einer Seitenlänge 3 <= n <= 30
.
Die Gitterpunkte, im Folgenden Punkte genannt, werden mit Spalten- und Zeilenkoordinaten versehen, wobei unten links die
Koordinate 1,1
liegt.
Hier ist ein Spielbrett der Größe n = 3
dargestellt:
Das Spielfeld stellt eine dreieckige Wiese dar, die wiederum in kleine dreieckige Teilflächen aufgeteilt ist.
Die von drei Punkten eingeschlossenen Flächen werden können mit Blumen bepflanzt werden. Auf der Kante von
einem Punkt zu einem direkten Nachbarn kann ein Wassergraben, kurz
Graben, gebaut werden. Ein Punkt hat hierbei stets maximal 6
direkte Nachbarn. Blumen und Gräben sind die
Hauptbestandteile von FlowerWarsPP.
Auf diesem Spielbrett ist folgende Situation gezeigt:
- Der rote Spieler hat Blumen auf (
1,1
,2,1
,1,2
) und (2,1
,3,1
,2,2
) - Der blaue Spieler hat eine Blume auf (
1,3
,2,3
,1,4
) - Der rote Spieler hat einen Graben von
1,2
nach2,2
, mit der seine beiden Blumen verbunden werden
Zugregeln
- Der rote Spieler hat den ersten Zug, danach wird beginnend mit dem blauen Spieler abwechselnd weiter gezogen.
- In einem Zug muss der Spieler sich entscheiden ob er zwei Blumen pflanzen oder einen Graben bauen möchte.
- Die beiden Blumen können beliebig auf dem Spielbrett positioniert werden, müssen jedoch auf leeren Feldern unter Einhaltung der nachfolgenden Regeln für Blumenbeete, Gärten und Gräben gebaut werden.
- Gräben müssen immer zwei eigene Blumen verbinden, genauer zwei Eckpunkte von Feldern, in denen eigene Blumen gepflanzt sind.
- Darüber hinaus kann ein Spieler zu einem beliebigen Zeitpunkt aufgeben, der andere Spieler gewinnt dann das Spiel.
Gärten
- Eine Ansammlung von
4
gleichfarbigen Blumen, die sich an den Seiten berühren, nennt man einen Garten. Ein Garten besteht immer aus exakt4
Blumen. - Eine Ansammlung von
1
,2
oder3
Blumen nennt man ein Blumenbeet. Ein Blumenbeet kann nie5
Blumen oder mehr umfassen. - Ein Garten darf weder mit einem anderen eigenen Garten noch mit einem anderen eigenen Blumenbeet gemeinsame Eckpunkte haben. Das heißt in anderen Worten, dass Gärten eigene Gärten oder Blumenbeete nicht über eine gleiche Seite berühren dürfen (weil dadurch automatisch die Gartengröße überschritten würde) und auch nicht über einen gemeinsamen Eckpunkt.
- Blumenbeete dürfen sich über Eckpunkte berühren.
- Blumenbeete dürfen nur dann zu einem Garten ausgebaut werden, wenn ...
- ... sie dann nicht mehr als
4
Blumen enthalten. - ... sie dann keine weiteren eigenen Gärten oder Blumenbeete berühren.
- ... sie dann nicht mehr als
- Diese Abstandsregeln gelten nicht für Blumenbeete und Gärten unterschiedlicher Farbe. Blumenbeete und Gärten unterschiedlicher Farbe dürfen beliebig nebeneinander liegen oder sich über Eckpunkte berühren.
Gräben
- Ein Graben verbindet zwei Blumen über dessen Eckpunkte. Diese Verbindung darf maximal einen Schritt entlang der Gitternetzlinien des Spielfeldes lang sein.
- Ein Punkt kann nur ein Grabenende tragen und ist somit für zukünftige Gräben blockiert.
- Die beiden Felder, die sich mit dem Graben eine gemeinsame Seite teilen, müssen beim Bau des Grabens leer sein. Dieselben Felder gelten nach Bau des Grabens als unfruchtbar und dürfen von keinen Blumen, unabhängig von der Farbe, bepflanzt werden. Auf den Bau von Gräben haben unfruchtbare Felder keinen Einfluss.
Spielende
-
Kann ein Spieler keinen Zug mehr machen, endet das Spiel sofort.
-
Kann ein Spieler keine 2 Blumen mehr anpflanzen und verzichtet auf das Bauen eines Grabens, kann er das Spiel beenden.
-
Nach Zugende werden für beide Spieler die Punkte nach diesen Regeln ermittelt:
- Ein einzelner Garten, der nicht über einen Graben mit anderen Gärten verbunden ist,
zählt
p(1) = 1
Punkt. - Miteinander verbundene Gärten (auch über einfache Blumenbeete hinweg) geben
p(n)
Punkte, wobein
die Anzahl der verbundenen Gärten beschreibt:p(n) = p(n-1) + n
- Ein einzelner Garten, der nicht über einen Graben mit anderen Gärten verbunden ist,
zählt
-
Bei Punktegleichstand endet das Spiel unentschieden.
ASCII board design
/\
/ \
/ \
/ ++ \
/ ++++ \
/__________\
/\ /\
/ \ ++++ / \
/ \ ++ / \
/ ** \ / \
/ **** \ / \
/__________\/__________\
/\ /+ /\
/ \ **** / + / \
/ \ ** / + / \
/ ** \ / + / ++ \
/ **** \ / + / ++++ \
/__________\/__________+/__________\
Kompilieren und Starten
Das Projekt basiert auf dem Build-System Maven. Folgendermaßen kann ein ausführbares jar-Archiv erzeugt werden:
mvn compile assembly:single
Dieses erzeugte Jar-Archiv kann wie folgt gestartet werden:
java -jar target/NAME_OF_THE_JAR_FILE.jar -size <BOARD_SIZE>