Game-Apps für Smartphones und Tablets

Bern University oh Teacher Education  
HomeOnline-Editor startenDruckenAndroid-TurtlegrafikJava-Online

Aufgabe 6: TicTacToe-Game


Spielregeln:

Tic-Tac-Toe (auch: Drei gewinnt) ist ein klassisches, einfaches Strategiespiel, dessen Geschichte sich bis ins 12. Jahrhundert v. Chr. zurückverfolgen lässt. Auf einem 3×3 Felder grossen Spielfeld zeichnen die beiden Spieler abwechselnd ihre Symbole (ein Spieler Kreuze, der andere Kreise). Der Spieler, der als erstes drei seiner Symbole in eine Reihe, Spalte oder eine der beiden Diagonalen setzen kann, gewinnt. Wenn allerdings beide Spieler optimal spielen, kann keiner gewinnen und es kommt zu einem Unentschieden.

Es empfiehlt sich, das Spiel in folgenden Schritten zu entwickeln:

Schritt 1:
Für die Marken können die Sprites mark_o.gif und mark_x.gif verwendet werden, wobei die mark_o.gif (id = 0) und mak_x.gif (id = 1).

Ergänzen Sie den Programmcode so, dass neue Symbole nur in leere Felder gesetzt werden können. Die Methode isEmpty(loc) gibt true zurück, wenn die Zelle loc leer ist.

 

Schritt 2:
Überprüfen Sie mit der Methode gameOver(), ob beim Setzen einer weiteren Marke in einer Zeile, Spalte oder Diagonale bereits zwei gleiche Marken vorhanden sind. In diesem Fall ist das Spiel fertig und der Spieler, welcher die letzte Marke gesetzt hat, gewinnt.

In den auskommentierten Zeilen der Methode gameOver() werden die Waagrechte und eine Diagonalen überprüft. Ergänzen Sie die Überprüfung.

Wenn der Check positiv ausfällt, hat der aktueller Spieler gewonnen. Schreiben Sie das Ergebnis in die Statusbar, oder lassen Sie das Sprite "Game over" erscheinen.

Schritt 3:
Es kann vorkommen, dass das Spielfeld voll ist, ohne dass einer der Spieler den Gewinn-Dreier legen konnte. Auch in diesem Fall ist "Game Over". Die Anzahl der belegten Felder erhält man mit der Methode getNumberOfActors().


Implementieren Sie dies.

Zusatzaufgabe:
Nach dem Beenden einer Spielrunde soll das Spiel mit Klick das Spielfenster erneut gestartet werden.