Zuhause Persönliche Finanzen Java Programming Challenge: Hinzufügen einer GUI zum Tic-Tac-Toe-Programm

Java Programming Challenge: Hinzufügen einer GUI zum Tic-Tac-Toe-Programm

Video: C++ Praxis Tutorial #014 TicTacToe mit Computergegner programmieren 2025

Video: C++ Praxis Tutorial #014 TicTacToe mit Computergegner programmieren 2025
Anonim

In Java Programming Challenge: Ein einfaches Tic-Tac-Toe-Spiel wurden Sie herausgefordert, ein konsolenbasiertes Programm zu schreiben, das das einfache Spiel von Tic-Tac-Toe spielt. Die Java-Programmierherausforderung besteht darin, Swing zu verwenden, um eine grafische Benutzerschnittstelle (GUI) zu dem Programm hinzuzufügen. Die GUI sollte der hier gezeigten ähneln.

die Benutzeroberfläche für ein Tic-Tac-Toe-Programm.

Das Spiel ist einfach. Der menschliche Spieler spielt zuerst, indem er auf eines der Quadrate klickt. Das Quadrat, auf das der Mensch geklickt hat, zeigt ein großes X an. Nachdem der Mensch gespielt hat, bestimmt das Programm, ob der Mensch einen Draw gewonnen oder gezwungen hat. Wenn dies der Fall ist, wird eine Nachricht angezeigt, das Board wird zurückgesetzt und ein neues Spiel beginnt. Wenn nicht, wählt der Computer eine Bewegung und markiert sein Quadrat mit einem großen O.

Das Programm ermittelt dann, ob der Computer das Spiel gewonnen hat. Wenn dies der Fall ist, zeigt das Programm eine Nachricht an, setzt die Karte zurück und startet ein neues Spiel. Wenn nicht, spielt der menschliche Spieler erneut. Dies dauert an, bis ein Spieler gewinnt oder alle Felder gefüllt sind.

Ihr Programm sollte dieselbe TicTacToeBoard-Klasse verwenden, die Sie für die Java-Programmieraufgabe erstellt haben: Klasse zum einfachen Tic-Tac-Toe-Programm hinzufügen. Mit anderen Worten muss es genau die gleichen Methoden implementieren. Für Ihre Bequemlichkeit werden diese Methoden in der folgenden Tabelle wiederholt.

Die TicTacToeBoard Klasse
Konstruktor Beschreibung
TicTacToeBoard Erzeugt ein neues TicTacToeBoard mit allen Feldern leer.
Methode Beschreibung
void reset () Setzt den Status jedes Quadrats auf leer zurück.
void playAt (String square, int player) Markiert das angegebene Quadrat (A1, A2, A3, B1, B2, B3, C1, C2 oder C3) für den angegebenen Spieler (1 für X, 2 für O). Löst IllegalArgumentException aus, wenn square nicht zu den zulässigen Werten gehört, player nicht 1 oder 2 ist oder das angegebene Quadrat nicht leer ist.
int isGameOver () Legt fest, ob das Spiel beendet ist. Gibt 0 zurück, wenn das Spiel noch nicht beendet ist, 1, wenn X das Spiel gewonnen hat, 2, wenn O das Spiel gewonnen hat, und 3, wenn das Spiel unentschieden ist. Die Spielendbedingungen lauten wie folgt:

1: Wenn eine Zeile, Spalte oder Diagonale alle X enthält.

2: Wenn eine Zeile, Spalte oder Diagonale alle O enthält.

3: Wenn es keine leeren Quadrate gibt und weder X noch O gewonnen haben.

int getNextMove () Gibt eine ganze Zahl zurück, die den nächsten Zug für den Computergegner darstellt. Diese Methode sollte eine rudimentäre Anstrengung unternehmen, um einen guten Zug gemäß der folgenden Strategie auszuwählen:

* Wenn das Zentrum (Quadrat B2) leer ist, spielen Sie das mittlere Quadrat.

* Wenn die Mitte nicht leer ist, aber eine der vier Ecken (Quadrate A1, A3, C1 oder C3) leer ist, spielen Sie eine der Ecken (es spielt keine Rolle, welche).

* Wenn die Mitte nicht leer ist und keine Ecken leer sind, spielen Sie eine der Kanten (Quadrate A2, B1, B3 oder C2).

String toString () Gibt eine Zeichenfolge zurück, die den aktuellen Status der Karte darstellt. Die Zeichenfolge enthält Zeilenumbruchzeichen, um die Zeilen sowie Trennlinien in separaten Konsolenzeilen anzuzeigen, wie in diesem Beispiel:

O | | O

- | - | -

| X |

- | - | -

| X |

Die Lösung für diese Herausforderung finden Sie auf der Registerkarte Downloads der Produktseite Java All-in-One für Dummies, 4th Edition.

Viel Glück!

Java Programming Challenge: Hinzufügen einer GUI zum Tic-Tac-Toe-Programm

Die Wahl des Herausgebers

Wie man Dateien in C ++ kopiert - Dummies

Wie man Dateien in C ++ kopiert - Dummies

Ah, eine Datei kopieren - etwas so einfaches, es passiert alles Zeit. Kopiere diese Datei dorthin; Kopieren Sie diese Datei hier. Aber was genau passiert, wenn Sie eine Datei kopieren? Sie erstellen tatsächlich eine neue Datei und füllen diese mit dem gleichen Inhalt wie die Originaldatei. Und wie machst du das? Nun, ...

Anleitung zum Erstellen eines Verzeichnisses in C ++ - Dummies

Anleitung zum Erstellen eines Verzeichnisses in C ++ - Dummies

Wenn Sie ein Verzeichnis erstellen möchten, können Sie das MKdir Funktion. Wenn die Funktion das Verzeichnis für Sie erstellen kann, gibt sie eine 0 zurück. Andernfalls wird ein Wert ungleich Null zurückgegeben. (Wenn Sie es ausführen, erhalten Sie eine -1, aber Ihre beste Wette - immer - ist es, gegen 0 zu testen.) Hier ist einige ...

Wie man eine einfache mathematische Vorlage in C ++ - Dummies

Wie man eine einfache mathematische Vorlage in C ++ - Dummies

Mit einer mathematischen Vorlage erstellt, die man normalerweise benötigt Zugriff auf eine Vielzahl von Berechnungen, aber nur jeweils eine oder zwei dieser Berechnungen. Zum Beispiel, wenn jemand Ihre Hypothek berechnet, muss er die Amortisationsrechnung nicht kennen. Die Person kann jedoch die Amortisationsberechnung benötigen, wenn Sie mit ...

Die Wahl des Herausgebers

ASVAB: Lesen für die Studie - Dummies

ASVAB: Lesen für die Studie - Dummies

Lesen für die Zwecke des Studiums der ASVAB ist eine andere Art des Lesens. Leseverständnis erfordert nur, dass Sie Informationen lange genug im Kurzzeitgedächtnis speichern, um einige Sekunden später eine Frage zu beantworten. Zum Lesen für die Zwecke des Studiums müssen Sie wichtige Informationen in Ihr Langzeitgedächtnis einpflegen - ...

ASVAB Mathematik Wissenspraxis: Ungleichungen - Dummies

ASVAB Mathematik Wissenspraxis: Ungleichungen - Dummies

Als wäre Algebra nicht anspruchsvoll genug, einige Fragen zur Der Subtest Mathematik auf dem ASVAB wird auch eine Ungleichheit einwerfen - nur um sicherzustellen, dass Sie aufmerksam sind. Wie erkennst du eine Ungleichheit? Halten Sie Ausschau nach Fragen mit mehr als oder weniger als Symbolen oder nach Graphen, die eine Zahlenlinie mit einem ...

ASVAB Mathematische Wissenspraxis: Fraktionen - Dummies

ASVAB Mathematische Wissenspraxis: Fraktionen - Dummies

Der Subtest Mathematikwissen auf dem ASVAB wird Fragen beinhalten, die Sie fragen mit Teilen eines Ganzen oder Fraktionen arbeiten. Diese Fragen können das Multiplizieren, Dividieren, Addieren, Subtrahieren und Konvertieren von Brüchen beinhalten, ähnlich den folgenden Übungsfragen. Übungsfragen Welche Fraktionen sind nicht gleichwertig? Gegeben einfach den Ausdruck. Antworten und Erklärungen Das richtige ...

Die Wahl des Herausgebers

Hinzufügen von Flash-Audio- und Videodateien in Dreamweaver - Dummies

Hinzufügen von Flash-Audio- und Videodateien in Dreamweaver - Dummies

Adobe besitzt sowohl Flash als auch Dreamweaver Daher finden Sie großartige Unterstützung für Flash-Dateien in Dreamweaver. Das Dialogfeld "FLV einfügen" erleichtert das Festlegen von Parametern für Flash. Dreamweaver erkennt sogar automatisch die Größe von Flash-Videodateien. Sie können Flash auch zum Erstellen und Einfügen von Audiodateien verwenden, wobei nur der Player angezeigt wird.

Einstellen von Bildhelligkeit und -kontrast in Dreamweaver - Dummies

Einstellen von Bildhelligkeit und -kontrast in Dreamweaver - Dummies

Dreamweaver bietet Werkzeuge zum Erstellen von Bildern Einstellungen, einschließlich der Helligkeit und des Kontrastes. Durch die Anpassung der Bildhelligkeit können Sie die Gesamtlichtmenge in einem Bild ändern. Kontrast steuert den Unterschied zwischen hellen und dunklen Bereichen eines Bildes. Wenn Sie die Dreamweaver-Bearbeitungswerkzeuge verwenden, wird das Bild dauerhaft geändert, wenn die Seite ...

Hinzufügen von Bildern zu Ihrer Website in Dreamweaver - Dummies

Hinzufügen von Bildern zu Ihrer Website in Dreamweaver - Dummies

Wenn Sie Ihrer Website ein Bild hinzufügen, erscheint anfangs fast magisch, weil der Prozess mit Dreamweaver so einfach ist. Die Herausforderung bei Webgrafiken besteht darin, sie nicht zu Ihren Seiten hinzuzufügen, sondern gut aussehende Bilder zu erstellen, die schnell im Browser Ihres Viewers geladen werden. Sie benötigen ein anderes Programm wie Photoshop, Photoshop Elements oder Fireworks, um ...