Software-Challenge Dokumentation

1. Einleitung

In dieser Anleitung werden die Elemente und Regeln des Spiels Mississippi Queen der Software-Challenge 2024 erläutert. Bei Mississippi Queen versuchen zwei Spieler, durch abwechselndes Setzen von Raddampfern schnellstmöglich einen Fluss bis zum Ziel entlangzufahren und dabei unterwegs zwei Passagiere mitzunehmen. Der Spieler, dessen Dampfer das Ziel mit zwei Passagieren an Bord zuerst erreicht, gewinnt das Spiel.

2. Das Spielbrett

Spielbrett

Ein mögliches Spielbrett zu Beginn des Spiels sieht man oben. Das gesamte Spielbrett besteht aus 8 Spielsegmenten mit jeweils 20 Feldern.

Am Anfang ist nur das Startsegment und ein darauf folgendes Segment aufgedeckt. Diese beiden Segmente sind immer gerade ausgerichtet, bilden also keinen Knick in eine Richtung. Sobald ein Dampfer auf das zuletzt aufgedeckte Segment fährt, wird ein neues dahinter aufgedeckt und zwar zufällig nach links, nach rechts oder mittig. Dies geschieht solange, bis alle 8 Segmente aufgedeckt sind. Das letzte Segment ist das Zielsegment (siehe Abbildung unter Spielende, Abschnitt 5).

Die Spielsegmente bestehen aus verschiedenen Typen hexagonaler Felder, die zufällig verteilt sind. Neben Wasserfeldern und Inseln gibt es pro Spiel insgesamt 5 Passagierfelder. Jeder Dampfer beginnt das Spiel mit einer Geschwindigkeit von 1 und einem Kohlevorrat von 6. Der Dampfer hat außerdem eine von sechs Bewegungsrichtungen, die den Kanten der Hexagon-Felder entsprechen, aus denen die Segmente aufgebaut sind. Die Geschwindigkeit eines Dampfers bestimmt, wie viele Bewegungspunkte er in einer Runde zur Verfügung hat. Den Kohlevorrat kann man nutzen, um Extra=Aktionen durchzuführen.

Die Koordinaten der Felder werden global mithilfe Kubischer Koordinaten erfasst, wobei die Dampfer auf (-1,-1,2) und (-2,1,1) starten, da die Mitte des ersten Segments immer (0,0,0) ist (und damit die des zweiten (4,0,-4)). Erklärungen und Veranschaulichungen dieses Systems finden sich hier: https://www.redblobgames.com/grids/hexagons/#coordinates-cube

2.1 Wasserfelder

Wasserfeld

Das Wasserfeld kann ganz normal befahren werden. Auf ein zum Spieler in der aktuellen Bewegungsrichtung benachbartes Wasserfeld ziehen, kostet einen Bewegungspunkt.

Strömungsfeld

Über das ganze Spielbrett hinweg zieht sich durch jedes Segment mittig eine Gegenströmung, die zum Passieren eine erhöhte Geschwindigkeit benötigt. Bei jeder Bewegungsaktion in oder durch die Strömung (unabhängig davon, ob man schon auf einem Strömungsfeld ist) zahlt man einen Bewegungspunkt extra, wobei direkt aufeinanderfolgende Bewegungsaktionen als eine zählen.

Innerhalb der Strömung ist somit die "effektive" Geschwindigkeit um 1 verringert, wodurch man im mittleren Zielfeld und an Passagierfeldern, die zur Mitte ausgerichtet sind, auch mit Geschwindigkeit 2 anlegen kann.

2.2 Die Insel

Insel

Die Insel kann nicht überquert werden. Fährt ein Dampfer auf oder durch eine Insel, gilt dies als illegaler Zug und führt zu einer Disqualifikation, wodurch der Spieler das Spiel verliert.

2.3 Das Passagierfeld mit Anleger

Passagierfeld

Auf dem Passagierfeld mit Anleger wartet ein Passagier, der am Anleger abgeholt werden kann. Um den Passagier abzuholen, muss der Dampfer mit Geschwindigkeit 1 (2 auf Strömungsfeldern) am Anleger ankommen. Es verwandelt sich in ein normales Inselfeld, sobald der Passagier abgeholt wurde (siehe Insel, 2.2). Wenn ein Dampfer durch Abdrängen an einem Anleger landet, kann er einen Passagier aufnehmen, sofern die Geschwindigkeit stimmt.

2.4 Das Zielfeld

Zielfeld

Ein Zielfeld muss mit effektiver Geschwindigkeit 1 angelaufen werden und es müssen sich mindestens zwei Passagiere an Bord befinden, damit der Dampfer das Spiel gewinnt. Sind diese Bedingungen nicht erfüllt, kann ein Zielfeld wie ein Wasserfeld befahren werden.

3 Spielablauf

Beide Spieler starten mit Geschwindigkeit 1 und 6 Kohleeinheiten und ziehen im Spielverlauf jeweils einmal pro Runde. In der ersten Runde beginnt der rote Spieler. In allen weiteren Runden wird der beginnende Spieler wie folgt ermittelt:

  1. Es beginnt der Spieler, dessen Dampfer sich am dichtesten am Ziel befindet, also am weitesten vorne auf dem befahrenen Segment.

  2. Sollten beide Dampfer gleich dicht am Ziel sein, beginnt der Dampfer mit der höheren Geschwindigkeit.

  3. Sollten beide Dampfer gleich schnell sein, beginnt der Dampfer mit dem höheren Kohlevorrat.

Ansonsten beginnt der Startspieler.

Die fünf Felder ganz links beginnen das Koordinatensystem, sodass ein Dampfer, der weiter außen ist, effektiv weiter vorne stehen kann, auch wenn er in der selben vertikalen Position ist.

4 Der Zug

Ein Zug besteht aus mindestens einer Aktion. In einem Zug müssen

durch die Aktionen insgesamt alle Bewegungspunkte (bestimmt durch die Geschwindigkeit des Schiffes) verbraucht werden. Die verschiedenen Aktionen sind:

4.1 Beschleunigungsaktion

Eine Beschleunigung kann nur als erste Aktion eines Zuges ausgeführt werden. Die Beschleunigung um eine Geschwindigkeitseinheit pro Zug ist frei, jede Beschleunigung um mehr als 1 kostet für jeden weiteren Geschwindigkeitspunkt eine Kohleeinheit. Möchte ein Spieler beispielsweise mit einer aktuellen Geschwindigkeit von 2 auf Geschwindigkeit 4 beschleunigen, kostet dies eine Kohleeinheit. Die maximale Geschwindigkeit ist 6, die niedrigste 1. Auf gleiche Weise kann auch abgebremst, also die Geschwindigkeit verringert werden. Dies wird der Einfachheit halber als Beschleunigungsaktion mit negativer Beschleunigung behandelt.

4.2 Erzeugung der Bewegungspunkte

Bevor nun eine der folgenden Aktionen durchgeführt werden kann, bekommt der Dampfer entsprechend seiner aktuellen Geschwindigkeit Bewegungspunkte. Diese Bewegungspunkte müssen durch die folgenden Aktionen aufgebraucht werden, am Ende des Zuges dürfen also keine Bewegungspunkte mehr vorhanden sein.

4.3 Drehaktion

Eine Drehaktion je Zug des Spielers um eine Einheit (also um 60◦) ist frei. Jede weitere Drehung erfordert eine Kohleeinheit (Ausnahme Abdrängen, siehe 4.4).

4.4 Abdrängaktion

Endet eine Aktion auf einem Feld mit dem gegnerischen Dampfer, muss darauf eine Abdrängaktion folgen. Ein Spieler kann den Gegner auf ein beliebig angrenzendes, jedoch nicht direkt hinter dem abdrängenden Spieler liegendes, begehbares Feld (keine Insel) abdrängen. Eine Abdrängaktion kostet einen Bewegungspunkt,

Der abgedrängte Spieler bekommt eine zusätzliche freie Drehung für seinen nächsten Zug.

4.5 Bewegungsaktion

Eine Bewegungsaktion erfolgt in die derzeitige Bewegungsrichtung des Schiffes. Sie kann nur entlang passierbarer (siehe 4.4) Felder erfolgen. Sie darf niemals durch ein vom Gegner besetztes Feld oder eine Sandbank gehen, darf jedoch auf dem Feld des Gegners oder einer Sandbank enden. Es ist weiterhin nicht erlaubt, durch das gesamte, zuletzt aufgedeckte Segment auf ein noch nicht aufgedecktes Feld zu ziehen.

4.6 Kombination von Aktionen

Solange die Regeln der einzelnen Aktionsarten eingehalten werden, können mehrere Aktionen innerhalb eines Zuges beliebig kombiniert werden. Der Aktionsablauf in einem Zug ist also:

  • Beschleunigungsaktion (optional)
  • Erzeugung der Bewegungspunkte
  • Beliebige Kombination der restlichen Aktionen (Bewegung, Drehung, Abdrängen), solange die Aktionspunkte ausreichen und die Regeln eingehalten werden

5 Spielende

Das Spiel ist beendet, sobald:

  • ein Dampfer mit mindestens 2 Passagieren ein Zielfeld mit Geschwindigkeit 1 erreicht hat (die Runde wird noch beendet)
  • ein Spieler keinen gültigen Zug mehr machen kann
  • am Ende einer Runde ein Dampfer mehr als 3 Spielsegmente zurückliegt
  • das Rundenlimit von 30 Runden erreicht ist

Ein Spieler, der einen ungültigen Zug macht, erhält für das Spiel insgesamt 0 Punkte. In allen anderen Fällen berechnet sich der Punktestand eines jeden Spielers folgendermaßen:

  • Jeder eingesammelte Passagier bringt 5 Punkte.
  • Jedes überwundene Segment bringt 5 Punkte.
  • Anhand der Position innerhalb eines Segments werden 0 bis 3 Punkte vergeben. Ein Segment ist aufgeteilt in 4 Spalten. Je weiter vorne man ist, desto mehr Punkte bekommt man.

Bei Spielende gewinnt der Spieler, der das Ziel mit mindestens 2 Passagieren erreicht hat. Ansonsten gewinnt der Spieler mit den meisten Punkten. Sollten beide Spieler gleich viele Punkte haben, gewinnt der Spieler, der mehr Passagiere eingesammelt hat. Sollte auch diese Zahl gleich sein, endet das Spiel unentschieden.