Java-Programmierung Herausforderung: Das Hinzufügen einer GUI zur Tic-Tac-Toe-Programm

Im Java-Programmierung Herausforderung: Ein einfaches Tic-Tac-Toe-Spiel Sie wurden herausgefordert eine konsolenbasierte Programm zu schreiben, das einfache Spiel von Tic-Tac-Toe spielt. Die Java-Programmierung Herausforderung hier ist Swing verwenden, um eine grafische Benutzeroberfläche (GUI), um das Programm hinzuzufügen. Die GUI sollte den hier gezeigten ähneln.

Die Benutzeroberfläche für eine Tic-Tac-Toe-Programm.
Die Benutzeroberfläche für eine Tic-Tac-Toe-Programm.

Das Spiel ist einfach. Der menschliche Spieler spielt zunächst durch eines der Quadrate klicken. Der Platz, der von den Menschen angeklickt zeigt eine große X. Nachdem die menschlichen Dramen, bestimmt das Programm, wenn der Mensch gewonnen hat oder ein Unentschieden gezwungen. Wenn ja, wird eine Meldung angezeigt, ist das Board zurückgesetzt und ein neues Spiel beginnt. Wenn nicht, wählt der Computer einen Zug und markiert seinen Platz mit einem großen O.

Das Programm ermittelt dann, wenn der Computer das Spiel gewonnen hat. Wenn dem so ist, zeigt das Programm eine Meldung, setzt das Board, und startet ein neues Spiel. Wenn nicht, spielt der menschliche Spieler wieder. Dies setzt sich fort, bis ein Spieler gewinnt oder alle der Plätze gefüllt sind.

Ihr Programm sollte verwenden die gleiche TicTacToeBoard Klasse, die Sie erstellen für Java-Programmierung Herausforderung: Hinzufügen Klasse mit dem einfachen Tic-Tac-Toe-Programm. In anderen Worten muss es exakt die gleichen Methoden implementieren. Für Ihre Bequemlichkeit sind diese Methoden in der folgenden Tabelle wiederholt.

Die TicTacToeBoard Klasse
constructorBeschreibung
TicTacToeBoardErstellt ein neues TicTacToeBoard mit allen Plätzen leer.
VerfahrenBeschreibung
void reset ()Setzt den Status jedes Quadrat zu leeren.
nichtig playAt (String Quadrat, int-Spieler)Markiert den angegebenen Platz (A1, A2, A3, B1, B2, B3, C1, C2, oder C3) Für den angegebenen Spieler (1 für X, 2 für O). wirft Illegal ob Platz nicht einer der zulässigen Werte ist, Spieler ist nicht 1 oder 2, oder der angegebene Platz ist nicht leer.
int isGameOver ()Legt fest, ob das Spiel vorbei ist. Gibt 0 zurück, wenn das Spiel nicht vorbei ist, 1, wenn X das Spiel gewonnen hat, 2, wenn O das Spiel gewonnen hat, und 3, wenn das Spiel unentschieden ist. Die Spielbedingungen enden, sind wie folgt:
1: Wenn eine Zeile, Spalte oder diagonal alle X enthält.
2: Wenn eine Zeile, Spalte oder Diagonale enthält alle O.
3: Wenn es keine leeren Plätze und weder X noch O hat gewonnen.
int getNextMove ()Gibt eine ganze Zahl, die den nächsten Schritt für den Computer-Gegner. Diese Methode sollte ein rudimentäres Anstrengungen unternehmen, um einen guten Zug zu wählen, nach folgender Strategie:
* Wenn das Zentrum (Quadrat B2) Ist leer, der Mitte Platz zu spielen.

* Wenn das Zentrum nicht leer, aber jeder der vier Ecken (Quadrate A1, A3, C1, oder C3) Leer sind, eine der Ecken spielen (es ist egal, welche).
* Wenn das Zentrum nicht leer ist und keine Ecken sind leer, eine der Kanten spielen (Quadrate A2, B1, B3, oder C2).
String toString ()Gibt eine Zeichenfolge zurück, die den aktuellen Status der Karte darstellt. Die Zeichenfolge enthält new-line Zeichen die Zeilen angezeigt werden sowie Trennlinien auf separaten Konsole Linien, wie in diesem Beispiel:
O | | O

---| --- | ---
| X |
---| --- | ---
| X |

Sie verlassen nun die Lösung für diese Herausforderung auf die finden Registerkarte Downloads des Java All-in-One For Dummies, 4th Edition Produktseite.

Viel Glück!

Menü