Letter-Memory-Game
Documentation
đź§ľ Technische Dokumentation: Letter Memory Game

đź§© 1. Ăśberblick
Ziel: Ein klassisches Memory-Spiel mit Buchstaben bei dem der Spieler Paare aufdeckt.
Spielfeld: 4×4 Raster mit 16 Karten (je zwei von A–H).
Interaktion: Mausgesteuert, mit visuellem Feedback und Zeitmessung.

🏗️ 2. Architektur & Ablauf
Initialisierung: App.__init__() startet Pyxel, aktiviert die Maus, mischt die Karten und startet die Hauptschleife.

Spielzustände:
status: aktuell aufgedeckte Karten
matched: dauerhaft aufgedeckte Paare
wait_timer: Verzögerung bei Fehlversuchen
game_over: Spielende-Flag

Hauptmethoden:
reset_game(): Initialisiert Spielzustand und mischt Karten
update(): Verarbeitet Mausereignisse und Spiellogik
draw(): Zeichnet das Spielfeld
draw_game_over(): Zeigt Endbildschirm mit Kommentar

đź§® 3. Datenstrukturen
Name Typ Beschreibung
self.board List[List[str]] 2D-Array mit Buchstaben
self.status List[Tuple[int, int]] Temporär aufgedeckte Karten
self.matched List[Tuple[int, int]] Dauerhaft aufgedeckte Karten
self.LETTERS List[str] 16 Buchstaben (A–H doppelt)
self.wait_timer int Countdown bei Fehlversuch
self.start_time, self.end_time float Zeitmessung

⚙️ 4. Methodenbeschreibung
__init__()
Initialisiert Fenster, Maus, Spielparameter und startet Pyxel-Loop.

reset_game()
Mischt Buchstaben und erstellt das Spielfeld. Setzt alle Zustände zurück.

update()
Verarbeitet Mausereignisse.
PrĂĽft Klickposition und deckt Karten auf.
Vergleicht zwei Karten:
Bei Übereinstimmung → matched aktualisieren.
Bei Nichtübereinstimmung → wait_timer setzen.
Bei vollständigem Match → Spielende.

draw()
Zeichnet das Spielfeld:
Braune RĂĽckseite
Graue Vorderseite mit Buchstaben
Rahmen um jede Karte
draw_game_over()
Zeigt Spielzeit und Kommentar basierend auf Leistung.
Klick startet neues Spiel.

🖱️ 5. Benutzerinteraktion
Klick auf Karte → Karte wird aufgedeckt.
Zwei Karten sichtbar → Vergleich:
Match → bleiben sichtbar.
Kein Match → nach 0.5s wieder verdeckt.
Alle Paare gefunden → Endbildschirm mit Zeit und Bewertung.
Klick nach Spielende → Neustart.

đźš« 6. Fehlerbehandlung
Klicks auĂźerhalb des Spielfelds werden ignoriert.
Bereits aufgedeckte oder gematchte Karten können nicht erneut gewählt werden.
wait_timer verhindert sofortige Interaktion nach Fehlversuch.
License: GPLv3
Files
  • app.py
  • res.pyxres
  • screenshot.png
LETTER-MEMORY-GAME
🕹️ https://pyxelstudio.net/w86xbdcm

#gamedev #retrogames #game #python #pyxel