Reversi – Spieleprogrammierung in Java

Im Zusammenhang mit den geplanten Artikeln zum Thema Programmieren mit Java hier auf AlltheMedia.de werden wir euch verschiedene Programme vorstellen, die in der Sprache Java geschrieben wurden. Das kann ganz interessant werden, denn Java bietet beinahe unbegrenzte Möglichkeiten.

Hier möchte ich einmal zeigen, was mit Java und ein wenig mehr Aufwand alles so möglich ist. Dieses Programm ist mein erstes richtiges Programm in Java gewesen. Ich habe es in den letzten Tagen so verändert, dass man es auch als Applet einsetzen kann. Leider musste ich dazu viele Funktionen weglassen.

Zum Programm

Reversi ist ein einfachen Brettspiel für zwei Spieler. Man spielt es auf einem Schachspiel, mit 8×8 Feldern. Jeder Spieler bekommt Pläreversi_imagettchen, die auf der einen Seite gelb, auf der anderen Rot sind. Anfangs liegen auf den mittleren vier Feldern zwei Plättchen mit der roten Seite nach oben und zwei mit der gelben. Oder einfacher: zwei rote und zwei gelbe Plättchen (wie in der Abbildung). Der rote Spieler darf beginnen. Er muss eines der Plättchen in seiner Hand so setzen, dass mindestens ein gelbes Plättchen zwischen diesem und einem anderen roten liegt. Dieses darf er dann umdrehen, sodass es nun ebenfalls seine Farbe zeigt. Dann ist der andere Spieler dran usw. Das Spiel ist zu Ende, wenn einer der Spieler nicht mehr setzen kann. In manchen Spielregeln steht, dass dann der andere Spieler weiterhin setzen darf, bis alles voll ist. Das Spiel endet, wenn alle Felder mit Plättchen belegt sind. Wer mehr in seiner Farbe hat, gewinnt das Spiel.

Wer möchte, kann das Spiel gleich hier mal ausprobieren. Im Applet spielt man immer Rot gegen den gelben Computer. Alternativ stelle ich die richtige Version zum Download bereit. Dort gibt es ungleich mehr Möglichkeiten. Ich habe versucht, so viel wie möglich aus dem Spiel herauszuholen. Wer mehr erfahren möchte: Unter dem Applet geht es weiter. (Wer das Applet nicht sehen kann, muss eventuell in seinem Browser unter “Einstellungen” oder “Optionen” bei “Java zulassen” ein Häkchen setzen. Oder sich die aktuelle jre herunterladen ( https://www.java.com/de/download/manual.jsp))

Die richtige Version

Mit dem Download bekommt ihr eine .jar Datei. Diese gehören zu Java und komprimieren mehrere Dateien. Ein Doppelklick genügt, um die Datei auszuführen und das Spiel zu starten. Vorausgesetzt, ihr habe eine aktuelle Version von Java. Dann öffnet sich ein Fenster, das so ähnlich aussieht wie das Applet. Nur hat es an den Seiten noch zwei Bereiche in denen der Status der beiden Spieler angezeigt wird. Dazu gehört, ob dieser Spieler am Zug ist und wie viele Plättchen der er hat.

Außerdem kann die Größe des Spiels verändert werden. Ich würde jedoch davon abraten, es allzu sehr zu verziehen, da dann einige Bereiche nicht mehr richtig angezeigt werden könnten. Der wichtigste Unterschied ist aber die Menuleiste.

Unter “Spiel” findet ihr Möglichkeiten zum Neustarten und Beenden des Spiels sowie zum Laden und Speichern des jeweiligen Spielstandes. Beim Laden kann es vorkommen, dass ihr einen Spielstand wählt, der ein anderes Feld braucht, als das aktuell eingestellte. Dann wird euch angegeben, wie groß dieses sein muss.

Dies und vieles mehr könnt ihr unter “Einstellungen” verändern. Die Größe des Spielfeldes ist noch der uninteressanteste Punkt. Man kann hier einstellen, wie viele Felder das Spielbrett groß sein soll. Dabei muss es nicht quadratisch sein, sondern kann auch rechteckig werden. Probiert es selbst aus. Viel wichtiger aber sind die Möglichkeiten, die Spieler einzustellen. Beide Spieler können auf “Computer” oder “Mensch” gestellt werden. Für die Ki kann dann die Stärke fünfstufig von “sehr leicht” bis “sehr schwer” modifiziert werden. Auch mitten im Spiel können die Spielereinstellungen verändert werden … wenn man beispielsweise keine Lust mehr hat, nur den Computern zuzusehen und selbst einen der beiden Spieler übernehmen möchte. Außerdem kann hier die Farbe der beiden Spieler und der Spielfeldkacheln verändert werden. Wenn man zu sehr an den Einstellungen herumgepfuscht hat, genügt ein Klick auf “Auf Standard setzen” und alles ist wie zuvor. Alternativ können auch Einstellungen geladen oder gespeichert werden.

Der dritte Menupunkt heißt “Animationen”. Hier kann eingestellt werden, welche der fünf Animationen man sehen möchte und welche nicht. Im Applet sind drei zu sehen: Das Umdrehen der Plättchen, die Markierung, welche Züge möglich sind und am Ende das Sortieren der Plättchen nach der Farbe. In der Downloadversion gibt es noch eine Markierung, wohin der jeweilige Spieler gesetzt hat und ein sich drehendes Plättchen zeigt an, welcher Spieler an der Reihe ist. Da gerade das Umdrehen der Plättchen sehr viel Rechenleistung erfordert und ältere Rechner durchaus in die Knie zwingen kann, gibt es hier die Möglichkeit, diese Animationen aus- oder wieder anzuschalten. Jede für sich.

Der letzte Menupunkt heißt “Spielverlauf”. Im Hintergrund dokumentiert ein Mechanismus jeden Zug, den die beiden Spieler, egal ob menschlich oder nicht, ausführen. So kann später nachverfolgt werden, wie das Spiel verlaufen ist. Um das während des Spiels zu tun, gibt es die Möglichkeit, sich diese Züge einfach so auszugeben. Dann öffnet sich für jeden Zug ein Nachrichten-Dialog, den man mit einem Klick auf “ok” schließt. Alternativ können die Züge auch auf dem Spielfeld ausgegeben werden. Dies sollte allerdings so gewählt werden, dass gerade Spieler 2 an der Reihe ist, sonst kommt es zu einer falschen Ausgabe, welcher Spieler gerade an der Reihe ist und es ist, falls anschließend noch weitergespielt werden soll, der falsche Spieler an der Reihe. Zuletzt gibt es die Möglichkeit, Spielzüge zurückzusetzen. Diese Funktion sollter allerdings mit Vorsicht genossen werden, da das Programm schnell durcheinander kommt. Gerade, wenn mehrere Züge innerhalb einer Runde rückgängig gemacht werden.

So, das waren im großen und Ganzen die Vorteile der Downloadversion. Ich wünsche euch sehr viel Spaß beim Ausprobieren und würde mich über Kommentare und Anregungen aber auch produktive Kritik sehr freuen.

Reversi zum Download (.zip | 52 kb)

Leave a Reply

Your email address will not be published. Required fields are marked *