Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tic Tac Toe in VBA

Forumthread: Tic Tac Toe in VBA

Tic Tac Toe in VBA
20.12.2016 16:41:09
Daniel
Hallo zusammen,
ich muss für die Uni ein kleines eigenes Spiel in VBA erstellen. Hier für habe ich mir Tic Tac Toe ausgesucht. Leider bestand die Vorlesung nur daraus, dass wir unserem Dozenten dabei zugeschaut haben wie er verschiedene Dinge programmiert, wir selber aber kaum ans ausprobieren kamen sodass ich nun große Schwierigkeiten mit der Aufgabe habe.
Nun habe ich es bereits geschafft mit Hilfe von Youtube ein kleines einfaches Spiel in einer UserForm zu erstellen und würde daran gerne noch einige Änderungen vornehmen, wobei ich hierbei definitiv auf Hilfe angewiesen bin. Ich hoffe die finde ich hier :)
Habe euch meine bisherige Datei hier hochgeladen: https://www.herber.de/bbs/user/110132.xlsm
Folgendes würde ich gerne abändern bzw. noch einbauen:
- Öffnen der UserForm durch Klicken auf Steuerelement "Öffne Tic Tac Toe"
- Mit Öffnen der UserForm würde ich mir gerne eine Auswahl zwischen 1 Spieler oder 2 Spielern wünschen (bislang muss man jedes Feld selber anklicken, sodass abwechselnd "X" und "O" in den Feldern 1-9 erscheint).
- Bei Auswahl von 1 Spieler wird in einem Eingabefeld danach der Name des Spielers abgefragt der anstatt von "SpielerX" über der Punktezahl eingetragen wird.
Leider weiß ich nicht genau wie man bei dieser Auswahl den Computer "simulieren" könnte. Vielleicht wäre dies über eine Zufallsvariable zwischen 1 und 9 möglich, wodurch nach dem eigenen Klicken zufällig ein anderes Feld (welches noch frei ist) angewählt und mit einem "O" gefüllt wird.
- Bei Auswahl von 2 Spielern sollen im Anschluss ebenfalls die Namen abgefragt werden und anstelle von "SpielerX" und "SpielerO" eingetragen werden. Beim Spielen selber könnte alles so bleiben
- Da wir als Anforderung haben, dass wir mindestens 2 Arbeitsmappen verwenden sollen, würde ich gerne den Punktestand beim Klicken des "Neues Spiel" Buttons das Ergebnis in die 2. Arbeitsmappe schreiben, mit Angabe der jeweiligen Spielernamen
Die Anforderungen die wir mindestens erfüllen müssen befinden sich für euch zur Einsicht in der 2. Arbeitsmappe.
Ich hoffe es kann mir jemand weiterhelfen und bedanke mich schon mal im Voraus für jede Hilfe!
Gruß Daniel
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tic Tac Toe in VBA
20.12.2016 16:46:36
Hajo_Zi
Hallo Daniel,
ich habe jetzt nicht alles gelesen. Aber mal ein Beispiel von Peter Haserodt.
https://www.herber.de/bbs/user/110136.xls

Anzeige
;
Anzeige

Infobox / Tutorial

Tic Tac Toe in VBA programmieren


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und gehe zu den Entwicklertools. Erstelle eine neue UserForm, die das Spielfeld für Tic Tac Toe darstellt.

  2. Steuerelemente hinzufügen: Füge 9 Buttons für die Spielfelder hinzu sowie einen Button, um das Spiel zu starten („Neues Spiel“) und einen weiteren, um die UserForm zu öffnen.

  3. Öffnen der UserForm: Verwende folgenden VBA-Code, um die UserForm beim Klicken des Steuerelements zu öffnen:

    Private Sub btnOpen_Click()
        UserForm1.Show
    End Sub
  4. Spieler auswählen: Füge zwei Radio-Buttons hinzu, um zwischen 1 Spieler und 2 Spielern zu wählen. Verwende für die Spieler-Namen Eingabefelder.

  5. Computer-Spieler simulieren: Bei Auswahl von 1 Spieler kannst du eine Zufallsvariable verwenden, um den Zug des Computers zu simulieren:

    Sub ComputerMove()
        Dim move As Integer
        move = Int((9 * Rnd) + 1) 'Zufallszahl zwischen 1 und 9
        'Hier den Code hinzufügen, um das Feld zu füllen
    End Sub
  6. Punktestand speichern: Verwende die zweite Arbeitsmappe, um die Punktestände der Spieler zu speichern. Hier ein einfacher Code-Schnipsel:

    Private Sub btnNewGame_Click()
        Dim ws As Worksheet
        Set ws = Workbooks("Punktestand.xlsx").Worksheets("Sheet1")
        ws.Cells(1, 1).Value = "Spieler: " & txtPlayer1.Text
        ws.Cells(1, 2).Value = "Punkte: " & player1Score
    End Sub

Häufige Fehler und Lösungen

  • UserForm öffnet sich nicht: Überprüfe, ob das Steuerelement korrekt verknüpft ist. Der Code für das Klicken muss in der richtigen Sub-Prozedur stehen.

  • Zufallszahlen generieren nicht wie erwartet: Stelle sicher, dass du die Zufallszahl mit Randomize initialisierst, bevor du Rnd verwendest.

  • Daten werden nicht in die zweite Arbeitsmappe geschrieben: Vergewissere dich, dass die Arbeitsmappe geöffnet ist und der richtige Name verwendet wurde.


Alternative Methoden

  • Tic Tac Toe in Excel ohne VBA: Du kannst auch eine einfache Version mit bedingter Formatierung und Formeln erstellen, indem du die Zellen zur Anzeige von "X" und "O" verwendest.

  • Online-Tools: Es gibt verschiedene Online-Plattformen, die einfache Tic Tac Toe-Spiele bereitstellen, die man nicht in Excel programmieren muss.


Praktische Beispiele

  • Beispiel für einen einfachen Zug: Hier ist ein Beispiel, wie du einen Zug implementieren kannst:

    Private Sub btn1_Click()
        btn1.Caption = "X"
        btn1.Enabled = False
        'Hier den Code zur Überprüfung des Sieges hinzufügen
    End Sub
  • Komplette Datei: Du kannst die von Daniel hochgeladene Datei als Grundlage verwenden und sie entsprechend anpassen: Tic Tac Toe Excel Download.


Tipps für Profis

  • Erweitere die Logik: Füge eine Logik hinzu, um zu überprüfen, ob ein Spieler gewonnen hat, und die UserForm entsprechend anzupassen.

  • Verwende Module: Trenne deinen Code in Module für bessere Übersichtlichkeit und Wartbarkeit.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Eingaben oder Aktionen abzufangen.


FAQ: Häufige Fragen

1. Wie kann ich den Computer schwieriger machen? Du kannst Algorithmen implementieren, die den besten Zug anhand der aktuellen Spielsituation berechnen.

2. Gibt es eine einfache Möglichkeit, das Spiel zu speichern? Ja, du kannst die aktuellen Spielstände in einer Excel-Tabelle speichern und beim nächsten Öffnen der UserForm wiederherstellen.

3. Welche Excel-Version benötige ich? Das Tutorial sollte in Excel 2010 und höher funktionieren, da die meisten VBA-Funktionen ab dieser Version unterstützt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige