-- ============================================================ -- Klangwerkstatt – neue Tabellen (2026-04-11) -- Datenbank: wandelndes_dorf_game_test -- ============================================================ CREATE TABLE melody_daily_challenges ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, challenge_date DATE NOT NULL, melody_data JSON NOT NULL COMMENT 'Format: {"piano":[[step,note_idx],...], ...}', total_active_cells INT UNSIGNED NOT NULL DEFAULT 0, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uq_challenge_date (challenge_date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE melody_player_attempts ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id INT UNSIGNED NOT NULL, challenge_id INT UNSIGNED NOT NULL, submitted_melody JSON NOT NULL, score TINYINT UNSIGNED NOT NULL DEFAULT 0, matching_cells INT UNSIGNED NOT NULL DEFAULT 0, submitted_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY uq_user_challenge (user_id, challenge_id), KEY idx_challenge_score (challenge_id, score DESC), KEY idx_user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE melody_listen_counts ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user_id INT UNSIGNED NOT NULL, challenge_id INT UNSIGNED NOT NULL, listen_count TINYINT UNSIGNED NOT NULL DEFAULT 0, last_listen TIMESTAMP NULL DEFAULT NULL, UNIQUE KEY uq_user_challenge (user_id, challenge_id), KEY idx_user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- ============================================================ -- ============================================================ -- Klangwerkstatt – Umbau auf 6 Tracks / 15 Instrumente (2026-04-12) -- Datenbank: wandelndes_dorf_game_test -- Löscht die heutige Challenge, damit sie mit neuer Konfiguration neu generiert wird -- ============================================================ DELETE FROM melody_daily_challenges WHERE challenge_date = CURDATE(); -- ============================================================ -- Klangwerkstatt – Phase 2: Musikalische Melodie (2026-04-12) -- Nach Implementierung von createMusicalMelodyChallenge(): -- Heutige Challenge erneut löschen, damit die neue Funktion greift -- ============================================================ DELETE FROM melody_daily_challenges WHERE challenge_date = CURDATE(); -- ============================================================ ## Geänderte Dateien -- (Jede erstellte/veränderte PHP/JS/CSS-Datei einmalig eintragen) - game/melody_api.php (neu erstellt – Klangwerkstatt API) - game/js/klangwerkstatt.js (neu erstellt – Klangwerkstatt Sequencer) - game/klangwerkstatt.php (neu erstellt – Klangwerkstatt Spielseite)