Inhaltsverzeichnis

Projekt 2: Patchwork

Im zweiten Projekt des SoPra24c soll das Brettspiel Patchwork als Kotlin-Anwendung unter Verwendung des BoardGameWork realisiert werden.

Bei Patchwork handelt es sich um ein Legespiel für zwei Spieler mit vollständig offenen Informationen (d.h. es gibt keine geheimen Nachziehstapel, Handkarten, o. Ä.). Ziel des Spiels ist es, Stoffstücke zu kaufen und diese so aneinander zu nähen (zu legen), dass eine möglichst lückenlose Stoffdecke entsteht. Eine Siegstrategie muss nicht nur geschickt mit der Währung „Knöpfe“ haushalten, sondern auch die begrenzte Zeit und die Möglichkeiten des Gegners berücksichtigen.

Anforderungen an das Programm

Das zu entwickelnde Programm soll den Spielablauf steuern und für die Einhaltung der Spielregeln sorgen. Zusätzliche Features, die nicht direkt auf den Spielregeln basieren, sollen umgesetzt werden:

KI-Turnier

Am Ende des Projekts findet ein Turnier statt, bei dem die KIs der Gruppen in 1v1-Spielen über den Netzwerkmodus gegeneinander antreten. Der genaue Ablauf des Turniers wird im Laufe des Projekts noch festgelegt.

Ein KI-Zug darf dabei maximal 10 Sekunden Rechenzeit benötigen und muss regelkonform sein. Sollte eine KI sich nicht an die Spielregeln halten (beabsichtigt oder unbeabsichtigt), wird die Gruppe vom KI-Turnier ausgeschlossen.

Import-Datei mit Spielteilen

Die Import-Datei im CSV-Format ist so aufgebaut, dass sie neben der kodierten Form der Spielsteine auch die Kosten (in Knöpfen und Zeit) sowie das Einkommen enthalten. Die Kodierung der Form ist ein Bitvektor (bestehend aus 'X'='belegt' und '-'='frei'), der die Felder in einer Matrix mit 3 Zeilen à 5 Spalten hintereinander enthält (Die ersten 5 Zeichen kodieren die erste Zeile, usw.)

Ergänzung zu den Spielregeln (Stand 15.08.2024)

Zwei Anmerkungen zu sehr unwahrscheinlichen Fällen: