Tetris in Python erstellen: Spiel programmieren lernen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Tetris in Python erstellen: Schritt-für-Schritt-Anleitung

Ein eigenes Spiel zu entwickeln ist eine effektive Methode, um Programmierkenntnisse zu verbessern. Python durch praktische Projekte zu lernen, hilft dir, die Möglichkeiten der Sprache besser zu verstehen. Das klassische Tetris-Spiel vereint spannende Spielmechanik mit einer relativ einfachen Grafikumsetzung.

Diese Anleitung bietet eine detaillierte Erklärung, wie du ein voll funktionsfähiges Tetris-Spiel in Python erstellst. Wir verwenden die Pygame-Bibliothek für Grafik und Benutzerereignisse. Du erhältst fertigen, lauffähigen Code und verstehst alle Entwicklungsschritte.

Vorbereitung für die Entwicklung

Systemanforderungen

Für die Erstellung des Tetris-Spiels benötigst du:

  • Python Version 3.x oder höher
  • Die Pygame-Bibliothek für die Grafikdarstellung
  • Grundkenntnisse der objektorientierten Programmierung

Installation der benötigten Komponenten

Die Pygame-Bibliothek wird über den Paketmanager pip installiert:

pip install pygame

Nach der Installation steht die Bibliothek für den Import in deinem Projekt zur Verfügung. Pygame bietet Werkzeuge zum Erstellen von Fenstern, zur Ereignisverarbeitung, zum Zeichnen von Grafikprimitiven und zur Tonwiedergabe.

Architektur des Tetris-Spiels

Wichtige Entwicklungsschritte

Der Prozess der Spieleentwicklung umfasst mehrere Schlüsselschritte:

  • Initialisierung des Spielfensters und Konfiguration der Parameter
  • Definition der Geometrie der Tetromino-Formen
  • Implementierung der Fall- und Bewegungsmechanik der Figuren
  • Kollisionsprüfung mit Spielfeldgrenzen und anderen Blöcken
  • System zum Entfernen vollständiger horizontaler Linien
  • Verarbeitung der Benutzereingaben zur Steuerung
  • Hinzufügen eines Punktesystems und eines Game-Over-Bildschirms

Datenstruktur des Spielfelds

Das Spielfeld wird als zweidimensionales Array dargestellt. Jede Zelle enthält Informationen über die Farbe eines Blocks oder bleibt leer. Die Feldgrößen werden durch Konstanten definiert, was eine einfache Anpassung des Spielmaßstabs ermöglicht.

Initialisierung des Spielfensters

Konfiguration der Hauptparameter

import pygame
import random

# Pygame initialisieren
pygame.init()

# Fenster- und Rastergrößen
SCREEN_WIDTH = 300
SCREEN_HEIGHT = 600
BLOCK_SIZE = 30

# Farbpalette
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
COLORS = [
    (0, 255, 255),  # I
    (255, 165, 0),  # L
    (0, 0, 255),    # J
    (255, 255, 0),  # O
    (0, 255, 0),    # S
    (128, 0, 128),  # T
    (255, 0, 0)     # Z
]

# Fenster einrichten
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Tetris in Python")

Die Konstanten definieren die Größen des Spielfensters und der Blöcke. Das Array COLORS enthält die Farben für jeden Figurentyp. pygame.init() initialisiert alle Module der Bibliothek.

Erstellung des Spielbildschirms

Die Funktion pygame.display.set_mode() erstellt ein Fenster mit den angegebenen Maßen. Die Methode set_caption() legt den Fenstertitel fest. Diese Einstellungen bilden die visuelle Grundlage des Spiels.

Definition der Tetromino-Formen

Geometrie der klassischen Figuren

FIGURES = [
    [[1, 1, 1, 1]],  # I
    [[1, 0, 0],
     [1, 1, 1]],    # J
    [[0, 0, 1],
     [1, 1, 1]],    # L
    [[1, 1],
     [1, 1]],       # O
    [[0, 1, 1],
     [1, 1, 0]],    # S
    [[0, 1, 0],
     [1, 1, 1]],    # T
    [[1, 1, 0],
     [0, 1, 1]]     # Z
]

Jede Figur wird als zweidimensionales Array dargestellt. Einsen stehen für gefüllte Blöcke, Nullen für leere Zellen. Diese Datenstruktur vereinfacht die Kollisionsprüfung und das Zeichnen der Figuren.

Rotationssystem der Figuren

Einige Figuren haben mehrere Rotationszustände. Für die Drehung kannst du das FIGURES-Array erweitern, indem du alle möglichen Ausrichtungen jeder Figur hinzufügst.

Klasse für die Spielfigur

Basisstruktur

Blogs

Buchempfehlungen