Tetris
Ein modernes Tetris in TypeScript – organisiert in einer aufgeräumten Monorepo: leichte Core-Engine plus schneller Vite + React Web-Client mit anpassbaren Controls, Audio und lokalen Highscores.
Status: Aktiv Erstellt: 2025-09-09 Aktualisiert: 2025-09-15
Dieses Projekt ist eine modulare Tetris-Implementierung in einer Monorepo-Struktur mit zwei Packages:
@tetris/core– Engine-Scaffolding@tetris/web– spielbarer Web-Client auf Basis von HTML5 Canvas (60 FPS)
Tetris Monorepo
Dieses Projekt ist eine pragmatische Tetris-Implementierung und wird in einer zwei-Package-Monorepo organisiert:
@tetris/core– Engine-Scaffolding, das grundlegende Spiellogik und Datenstrukturen bereitstellt@tetris/web– der spielbare Web-Client, der über ein HTML5-Canvas rendert und auf eine flüssige 60 FPS Erfahrung ausgelegt ist
Features
-
Gameplay & Regeln
- Guideline-inspirierte Mechaniken: SRS, 7-Bag-Randomizer, klassisches Scoring
- Unterstützt Ghost Piece, Hold-Funktion und Next-Queue
- Einstellbare Parameter wie DAS, ARR und 180°-Rotation
- Lokale Highscores mit Export-, Import- und Clear-Optionen
-
UI & UX
- Schlanke, klare Oberfläche
- Konfigurierbare Themes
- Optionale Animationen und Maussteuerung
-
Audio
- Abstrakte Audio-Service-Schicht mit Web-Audio-Adapter
- Engine-Events wie Line Clear, Tetris und Level Up werden in SFX und Musik gemappt
- Zukunftssicher erweiterbar für Musik und individuelle Soundsets
Technologie & Projektpflege
- TypeScript als durchgehende Sprache
- Vite für schnelle Entwicklungs- und Build-Zyklen
- Vitest und Testing Library für Unit- und UI-Tests
- ESLint und Prettier für Codequalität und Konsistenz
Darüber hinaus sorgt die Monorepo-Struktur für klare Abgrenzungen und Wiederverwendbarkeit. Projekthygiene steht im Vordergrund – mit gemeinsamen Workspace-Skripten, CI-Hooks und einer dokumentierten Roadmap für künftige Features wie Maussteuerung und erweiterte Audiofunktionen.
Zielsetzung
Dieses MVP bietet ein solides Fundament für eine guideline-orientierte Tetris-Variante. Es kombiniert eine moderne technische Basis mit klarer Architektur und schafft so Raum für zukünftige Erweiterungen, ohne Kompromisse bei Lesbarkeit, Testbarkeit und Performance.