Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.7 kB
3
Indexable
import pygame

# Schritt 1: Vorbereitung
import pygame

# Schritt 2: Initialisierung
pygame.init()

# Schritt 3: Spielfeld erstellen
spielfeld = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
]

# Schritt 4: Grundeinstellungen
fenster_breite, fenster_hoehe = 600, 600
fenster = pygame.display.set_mode((fenster_breite, fenster_hoehe))
pygame.display.set_caption("Tic-Tac-Toe")

# Schritt 5: Spielerwechsel
aktueller_spieler = "X"

# Schritt 6: Spielfeld zeichnen
def zeichne_spielfeld():
    fenster.fill((255, 255, 255))  # Setze den Hintergrund auf Weiß

    # Zeichne horizontale Linien
    for zeile in range(1, 3):
        pygame.draw.line(fenster, (0, 0, 0), (0, zeile * 200), (fenster_breite, zeile * 200), 10)

    # Zeichne vertikale Linien
    for spalte in range(1, 3):
        pygame.draw.line(fenster, (0, 0, 0), (spalte * 200, 0), (spalte * 200, fenster_hoehe), 10)

# Schritt 7: Spiellogik - Hier prüfen, ob jemand gewonnen hat oder ob es unentschieden steht
def pruefe_gewinner():
    for spieler in ["X", "O"]:
        # Prüfe horizontale und vertikale Linien
        for i in range(3):
            if spielfeld[i][0] == spielfeld[i][1] == spielfeld[i][2] == spieler or \
               spielfeld[0][i] == spielfeld[1][i] == spielfeld[2][i] == spieler:
                return spieler

        # Prüfe diagonale Linien
        if spielfeld[0][0] == spielfeld[1][1] == spielfeld[2][2] == spieler or \
           spielfeld[0][2] == spielfeld[1][1] == spielfeld[2][0] == spieler:
            return spieler

    # Prüfe auf Unentschieden
    for zeile in spielfeld:
        if "" in zeile:
            return None
    return "Unentschieden"

# Schritt 8: Spielsteuerung - Hier wird der Mausklick verarbeitet
spiel_aktiv = True  # Dies dient dazu, das Spiel zu pausieren, wenn ein Gewinner gefunden wurde
while spiel_aktiv:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            x, y = event.pos
            spalte = x // 200
            zeile = y // 200

            if spielfeld[zeile][spalte] == "":
                spielfeld[zeile][spalte] = aktueller_spieler

                # Wechsle den Spieler
                aktueller_spieler = "O" if aktueller_spieler == "X" else "X"

    zeichne_spielfeld()  # Aktualisiere das Spielfeld
    pygame.display.update()  # Aktualisiere das Fenster

    gewinner = pruefe_gewinner()
    if gewinner:
        if gewinner == "Unentschieden":
            print("Unentschieden!")
        else:
            print(f"Spieler {gewinner} hat gewonnen!")

        spiel_aktiv = False  # Das Spiel ist beendet