# Hitstar – lokale Web-App (Prototyp) Lokales Multiplayer-Webspiel inspiriert von HITSTER. Nutzt eure MP3-Dateien im Ordner `data/`, eine Lobby mit Raum-Code sowie WebSockets für den Mehrspieler-Modus. ## Features - Lobby mit Raum-Erstellung und -Beitritt (Code) - Mehrere Spieler pro Raum, Host startet das Spiel - Lokale MP3-Wiedergabe via Browser-Audio (`/audio/`) – keine externen Dienste - Einfache Rundenlogik: DJ scannt Lied, Spieler raten vor/nach (vereinfachte Chronologie) - Token-Zähler (Basis); Gewinnbedingung: 10 korrekt platzierte Karten Hinweis: Regeln sind vereinfacht; „HITSTER!“-Challenges und exakter Zwischenplatzierungsmodus sind als Ausbaustufe geplant. ## Setup 1. MP3-Dateien in `data/` legen (Dateiname wird als Fallback-Titel genutzt; falls Tags vorhanden, werden Titel/Künstler/Jahr ausgelesen). 2. Abhängigkeiten installieren und Server starten. ### PowerShell-Befehle ```powershell # In den Projektordner wechseln Set-Location e:\git\hitstar # Abhängigkeiten installieren npm install # Server starten npm start ``` Dann im Browser öffnen: http://localhost:5173 ## Nutzung - Namen setzen, Raum erstellen oder mit Code beitreten (Code wird angezeigt). - Host klickt „Spiel starten“. - DJ klickt „Lied scannen“; der Track spielt bei allen. - Aktiver Spieler wählt „Vor“ oder „Nach“. Bei Erfolg wandert das Lied in seine Zeitleiste. ## Ordnerstruktur - `public/` – Client (HTML/CSS/JS) - `server.js` – Express + WebSocket Server, Game-State - `data/` – eure MP3-Dateien ## Git & Audio-Dateien - In `.gitignore` sind alle gängigen Audio-Dateitypen ausgeschlossen (z. B. .mp3, .wav, .flac, .m4a, .ogg, …). - Legt eure Musik lokal in `data/`. Diese Dateien werden nicht ins Git-Repo eingecheckt und bleiben nur auf eurem Rechner. ## Nächste Schritte (optional) - „HITSTER!“-Challenges per Token mit Positionsauswahl (zwischen zwei Karten) - Team-Modus, Pro-/Expert-Regeln, exaktes Jahr - Persistenz (Räume/Spielstände), Reconnect - Drag & Drop-Zeitleiste, visuelle Platzierung ## Hinweis Nur für privaten Gebrauch. Musikdateien bleiben lokal bei euch.