Untitled

 avatar
unknown
plain_text
a year ago
2.3 kB
4
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
while True:
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!")

# Hier würde der Code zum Neustart des Spiels kommen
Editor is loading...