Untitled
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