Leiterspiel

Application Kata „Leiterspiel“

Entwickle eine Anwendung, mit der 2 bis 4 Personen das Leiterspiel (engl. snakes and ladders) spielen können.

Beim Leiterspiel müssen Spieler ihren Spielstein vom Start links unten zum Ziel links oben bewegen. Es gewinnt der Spieler, der als erster seinen Spielstein auf das Zielfeld setzt.

Für jeden Zug wird gewürfelt, wie viele Felder der Spielstein weiter gesetzt werden darf. Das Spiel soll mit einem Würfel gespielt werden.

Kommt der Spielstein auf einem Spielfeld zu stehen, bei dem eine Leiter beginnt (z.B. Feld 3), klettert er automatisch darauf zum Feld am Ende der Leiter (z.B. Feld 11).

Kommt der Spielstein auf einem Spielfeld zu stehen, auf dem der Kopf einer Schlange liegt (z.B. Feld 14), dann rutscht er automatisch zum Feld am Ende der Schlange zurück (z.B. 6).

Die Spieler würfeln reihum. Jeder Spieler hat pro Runde einen Wurf [1].

Mit dem ersten Zug setzt jeder Spieler seinen Spielstein auf das Spielbrett. Wer eine 1 würfelt, betritt also beim obigen Spielbrett gleich eine Leiter, ebenso, wer eine 3 würfelt.

Bei Spielbeginn wird die Zahl der Spieler festgelegt und ein Spielbrett ausgewählt.

Ein Spiel kann jederzeit begonnen werden. Dadurch wird das laufende Spiel abgebrochen.

Nach Spielende, d.h. wenn der erste Spieler das Ziel erreicht hat, wird der Gewinner angezeigt und nicht weiter gewürfelt.

Jeder Spieler soll seinen Wurf explizit durchführen, z.B. durch Anklicken eines Würfels.

Daten

Spielbretter liegen als Bilddateien wie oben vor und werden von einer Datei mit Metadaten begleitet, z.B. leiterspielbrett1.jpg und leiterspielbrett1.txt.

Die Metadaten definieren die Zahl der Zeilen und Spalten und beschreiben, wo Leitern und Schlangen liegen. Beispiel für das obige Spielbrett:

Spielbrett=leiterspielbrett1.jpg

Zeilen=8
Spalten=8

Leiter=1,30
Leiter = 3 , 11
Leiter=7,25
Leiter=17,34
Leiter=22,52
Leiter=40,54
Leiter=41,57
Leiter=48,64

Schlange=14,6
 Schlange = 39 , 23
Schlange=45,33
Schlange=47,19
Schlange=53,13
Schlange=61,46

Whitespace ist in der Metadatendatei zu ignorieren; jede Information ist allerdings auf eine Textzeile beschränkt.

Als Spielbrettdateiformate sind .jpg und .png zu akzeptieren.

Die Angaben zu Spielbrett, Zeilen und Spalten sind zwingend. Die Zahl der Leitern und Schlangen ist beliebig (0..n).

In der Spielbrettzeichnung sind die Felder mit gleicher Größe und gleichmäßig horizontal und vertikal verteilt anzunehmen.

Beispieldaten: https://www.box.com/s/so0mxp3zm3jh1xv2gg15

Variation #1

Wenn ein Spieler eine 6 Würfelt, ist er nochmal dran.

Variation #2

Wenn ein Spielstein auf einem Feld mit einem anderen Spielstein zu stehen kommt, wird der „geschlagen“ und muss zurück zum Start.

Variation #3

Welcher Spieler beginnt, wird ausgewürfelt. Dazu würfelt jeder Spieler vor der ersten Runde einmal. Es beginnt der mit der höchsten Augenzahl.

Spieler mit derselben Augenzahl würfeln solange weiter, bis es einen klaren „Gewinner“ gibt.

Endnoten

[1] Welcher Spieler beginnt, bestimmen die Spieler untereinander. Die Anwendung beginnt immer mit dem ersten Spielstein in seiner Liste. Die Spieler ordnen sich selbst den Spielsteinen zu.

Ressourcen

[Leiterspiel] http://de.wikipedia.org/wiki/Leiterspiel

[How to Play] http://www.wikihow.com/Play-Snakes-and-Ladders

Quellen

Spielbretter