Video: Tic Tac Toe programmieren | Java | #1 | Anfängertutorial | [ger/1080p60] 2024
Ihre Mission, sollten Sie sich dazu entscheiden, diese zu akzeptieren, besteht darin, ein Java-Programm zu erstellen, das ein Spiel von Tic-Tac-Toe mit dem Benutzer spielen kann.
Wie Sie wahrscheinlich wissen, ist Tic-Tac-Toe ein einfaches Spiel, das normalerweise mit Papier und Bleistift gespielt wird. Zuerst machen Sie ein einfaches 3 x 3 Raster auf dem Papier. Dann wechseln zwei Spieler abwechselnd, indem sie Xs und Os in leeren Feldern markieren. Der erste Spieler, der drei seiner Marken in einer horizontalen, vertikalen oder diagonalen Reihe macht, gewinnt. Wenn alle Felder in der Startaufstellung gefüllt sind, bevor ein Spieler drei in einer Reihe markiert, ist das Spiel unentschieden.
Hier sind die Regeln und Anweisungen für diese Herausforderung:
-
Der Computer spielt gegen den Menschen. Der Mensch bewegt sich zuerst und ist X. Der Computer ist O.
-
Das Programm sollte mit einer kurzen Begrüßungsnachricht beginnen und den Spieler dann zu seinem ersten Zug auffordern. Zum Beispiel:
Willkommen bei Tic-Tac-Toe. Bitte geben Sie Ihren ersten Zug ein:
-
Um die Quadrate des Rasters zu bestimmen, verwenden Sie die Buchstaben A, B und C für die Spalten und die Ziffern 1, 2 und 3 für die Zeilen, wie folgt:
A1 B1 C1 A2 B2 C2 A3 B3 C3
Um ein X in das obere linke Quadrat zu platzieren, gibt der menschliche Spieler den Text A1 ein, wenn das Programm den Spieler zu einem Bewegung.
Nachdem der Mensch eine Bewegung eingegeben hat, sollte das Programm den aktuellen Status der Karte auf der Konsole anzeigen.
-
Verwenden Sie X, um die Spiele des Menschen zu markieren, und O, um die Spiele des Computers zu markieren. Verwenden Sie senkrechte Striche (auf der Tastatur mit dem umgekehrten Schrägstrich, direkt über der Eingabetaste) und Bindestriche, um die Karte in einem einfachen Raster zu zeichnen.
Wenn der Benutzer beispielsweise A1 als seine erste Bewegung eingegeben hat, zeigt das Programm Folgendes an:
X | | --- | --- | --- | | --- | --- | --- | |
-
Nach der Bewegung des Menschen bestimmt das Programm seine Bewegung, teilt es dem Benutzer mit, zeigt eine aktualisierte Karte an und fordert dann zur Bewegung des Benutzers auf.
Zum Beispiel könnten Sie dies sehen:
Ich spiele A2: X | O | --- | --- | --- | | --- | --- | --- | | Bitte geben Sie Ihren nächsten Zug ein:
-
Das Spiel wird fortgesetzt, bis ein Spieler drei Treffer in Folge erzielt hat oder alle Felder mit keinem Gewinner gefüllt wurden. Dein Programm muss in der Lage sein zu bestimmen, ob einer der Spieler drei in einer Reihe erzielt und das Spiel gewonnen hat. (Dies ist der schwierigste Teil dieser Programmieraufgabe.)
-
Wenn das Spiel vorbei ist, zeigt das Programm eine Nachricht an, die das Ergebnis des Spiels anzeigt: "Du hast mich geschlagen! "Wenn der menschliche Spieler gewinnt", habe ich dich geschlagen! "Wenn der Computer-Spieler gewinnt, oder" Es ist ein Unentschieden! "Wenn das Spiel unentschieden endet.
-
Die menschlichen und Computerspieler können nur in den Feldern spielen, die nicht bereits von einem der Spieler besetzt sind.
-
Das Programm endet, wenn das Spiel von einem Spieler gewonnen wird oder das Spiel unentschieden ist. Wenn Sie wieder spielen möchten, müssen Sie das Programm erneut ausführen.
Beachten Sie, dass Sie jede Methode verwenden können, die Sie bestimmen möchten, wie der Computer seine Bewegungen ausführen soll. Ich schlage vor, dass Sie den Computer immer auf dem ersten leeren Feld spielen lassen. Dies ist offensichtlich nicht der beste Weg, um Tic-Tac-Toe zu spielen, und Sie werden keine Probleme haben, den Computer jedes Mal zu schlagen, wenn Sie spielen. Wenn Sie sich für diese einfache Spielstrategie entscheiden, können Sie sich auf andere Aspekte der Programmierung konzentrieren, z. B. die interne Darstellung des Rasters und die Bestimmung, wann ein Spieler das Spiel gewonnen hat oder wann das Spiel unentschieden ausgegangen ist.
(In "Java Programming Challenge: Hinzufügen von Arrays zum einfachen Tic-Tac-Toe-Programm" werden Sie gebeten, eine bessere Strategie für das Programm zu entwickeln, um seine Spiele zu bestimmen.)
Hier ist ein Beispiel für die Konsolenanzeige für ein komplettes Spiel:
Willkommen bei Tic-Tac-Toe. Bitte geben Sie Ihren ersten Zug ein: A1 X | | --- | --- | --- | | --- | --- | --- | | Ich werde bei A2 spielen: X | O | --- | --- | --- | | --- | --- | --- | | Bitte geben Sie Ihren nächsten Zug ein: B1 X | O | --- | --- | --- X | | --- | --- | --- | | Ich werde bei A3 spielen: X | O | O --- | --- | --- X | | --- | --- | --- | | Bitte geben Sie Ihren nächsten Zug ein: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | | Du hast mich geschlagen!
Hier ein paar Tipps für den Anfang:
-
Die beste Möglichkeit, das Gitter darzustellen, ist ein Array. Verwenden Sie zunächst neun Variablen mit den Namen A1, A2, A3, B1, B2, B3, C1, C2 und C3.
-
Wenn Sie den int-Typ für die Gittervariablen verwenden, können Sie mit 1 angeben, dass ein Quadrat ein X und 2 enthält, um anzuzeigen, dass ein Quadrat ein O enthält.
-
Acht mögliche Zeilen können zu einem Gewinn führen. Ein Spieler gewinnt, wenn eine der folgenden Kombinationen von Feldern entweder 1 (für X) oder 2 (für O) ist:
A1 - A2 - A3 A1 - B1 - C1 A1 - B2 - C3 B1 - B2 - B3 A2 - B2 - C2 A3 - B2 - C1 C1 - C2 - C3 A3 - B3 - C3
-
Es gibt zwei Möglichkeiten, um zu bestimmen, ob das Spiel unentschieden ist. Die erste ist, alle neun Quadrate zu überprüfen: Wenn keines der Felder leer ist und keiner der Spieler gewonnen hat, ist das Spiel unentschieden. Der zweite ist, die Züge zu zählen: Wenn neun Züge gemacht wurden und keiner der beiden Spieler gewonnen hat, ist das Spiel unentschieden.
Eine Lösung für diese Programmieraufgabe finden Sie auf der Registerkarte Downloads der Produktseite Java All-in-One für Dummies, 4th Edition.
Viel Glück!