Zuhause Persönliche Finanzen Java Programming Challenge: Ein einfaches Tic-Tac-Toe-Spiel - Dummies

Java Programming Challenge: Ein einfaches Tic-Tac-Toe-Spiel - Dummies

Video: Tic Tac Toe programmieren | Java | #1 | Anfängertutorial | [ger/1080p60] 2024

Video: Tic Tac Toe programmieren | Java | #1 | Anfängertutorial | [ger/1080p60] 2024
Anonim

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:

  1. Der Computer spielt gegen den Menschen. Der Mensch bewegt sich zuerst und ist X. Der Computer ist O.

  2. 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:
    
  3. 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.

  4. 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 | | --- | --- | --- | | --- | --- | --- | |
    
  5. 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:
    
  6. 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.)

  7. 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.

  8. Die menschlichen und Computerspieler können nur in den Feldern spielen, die nicht bereits von einem der Spieler besetzt sind.

  9. 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!

Java Programming Challenge: Ein einfaches Tic-Tac-Toe-Spiel - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...