From 30fdaa871288a828edbe614996a3103a6510b9dd Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 28 Aug 2025 16:57:12 +0200 Subject: [PATCH] =?UTF-8?q?feat(match3):=20Erweiterung=20der=20Match-Z?= =?UTF-8?q?=C3=A4hler-Logik=20f=C3=BCr=20Level-Objekte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Einführung eines Match-Zählers, der bei verschiedenen Spielereignissen erhöht wird, um die Anzahl der Matches zu verfolgen. - Anpassungen in mehreren Methoden, um den Zähler nach Aktionen wie Bomben-Explosionen, Raketen-Starts und Regenbogen-Aktivierungen zu erhöhen. - Verbesserung der Debug-Ausgaben zur besseren Nachverfolgbarkeit der Match-Zähler-Updates und Spielereignisse. --- frontend/src/views/minigames/Match3Game.vue | 76 ++++++++++++++++++--- 1 file changed, 68 insertions(+), 8 deletions(-) diff --git a/frontend/src/views/minigames/Match3Game.vue b/frontend/src/views/minigames/Match3Game.vue index 22d4fca..ee33ee8 100644 --- a/frontend/src/views/minigames/Match3Game.vue +++ b/frontend/src/views/minigames/Match3Game.vue @@ -1862,6 +1862,12 @@ export default { console.log(`🎯 Match-Punkte hinzugefügt: +${totalMatchPoints} Punkte (Level: ${this.levelScore}, Gesamt: ${this.score})`); } + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (isPlayerMove && !this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht: ${this.matchesMade} Matches gemacht`); + } + // Debug: Zeige alle Tiles, die zur Entfernung hinzugefügt wurden console.log('🔧 Debug: Alle Tiles, die zur Entfernung hinzugefügt wurden:'); tilesToRemove.forEach(index => { @@ -4927,11 +4933,17 @@ export default { console.log(`🌈 ${tilesToRemove.length} Tiles vom Typ ${targetType} entfernt, +${points} Punkte`); - // WICHTIG: Prüfe Level-Objekte nach der Regenbogen-Aktivierung - if (!this.isInitializingLevel) { - console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Aktivierung...'); - this.checkLevelObjectives(); - } + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Regenbogen-Aktivierung: ${this.matchesMade} Matches gemacht`); + } + + // WICHTIG: Prüfe Level-Objekte nach der Regenbogen-Aktivierung + if (!this.isInitializingLevel) { + console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Aktivierung...'); + this.checkLevelObjectives(); + } }, // Neue Methode: Behandle Power-Up Tile Tausch @@ -5139,6 +5151,12 @@ export default { console.log(`🌈 Alle Tiles erfolgreich entfernt! +${points} Punkte`); + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Regenbogen-Tausch: ${this.matchesMade} Matches gemacht`); + } + // WICHTIG: Prüfe Level-Objekte nach dem Regenbogen-Tausch if (!this.isInitializingLevel) { console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Tausch...'); @@ -5199,6 +5217,12 @@ export default { this.levelScore += points; this.score += points; + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte (nur bei manueller Aktivierung) + if (isManualActivation && !this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Bomben-Explosion: ${this.matchesMade} Matches gemacht`); + } + // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren // UND nur wenn es sich um eine manuelle Aktivierung handelt if (powerUpsToTrigger.length > 0 && isManualActivation) { @@ -5288,7 +5312,11 @@ export default { this.explodeBomb(index, 1, true); }); - + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel && bombIndices.length > 0) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Massen-Bomben-Explosion: ${this.matchesMade} Matches gemacht`); + } }, // Neue Methode: Erstelle zufällige Raketen @@ -5336,7 +5364,11 @@ export default { this.handleRocketDoubleClick(rocketIndex); }); - + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel && rocketIndices.length > 0) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Massen-Raketen-Start: ${this.matchesMade} Matches gemacht`); + } }, // Neue Methode: Behandle Rakete + Bombe Kombination @@ -5382,6 +5414,12 @@ export default { const points = tilesToRemove.length * 25 * this.currentLevel; this.levelScore += points; this.score += points; + + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Raketen-Bomben-Kombination: ${this.matchesMade} Matches gemacht`); + } } } @@ -5411,7 +5449,11 @@ export default { // Explodiere am Landungsort (9 Felder = 1 Ring) this.explodeBomb(landingIndex, 1, true); - + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Bomben-Raketen-Landung: ${this.matchesMade} Matches gemacht`); + } } }, @@ -5732,6 +5774,12 @@ export default { this.levelScore += points; this.score += points; + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Raketen-Verbindung: ${this.matchesMade} Matches gemacht`); + } + // Starte 3 Raketen auf zufällige Felder this.launchThreeRockets([rocket1Index, rocket2Index]); } @@ -5790,6 +5838,12 @@ export default { this.levelScore += points; this.score += points; + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach 3-Raketen-Start: ${this.matchesMade} Matches gemacht`); + } + // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren if (powerUpsToTrigger.length > 0) { setTimeout(() => { @@ -5867,6 +5921,12 @@ export default { this.levelScore += points; this.score += points; + // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte + if (!this.isInitializingLevel) { + this.matchesMade += 1; + console.log(`🎯 Match-Zähler erhöht nach Raketen-Start: ${this.matchesMade} Matches gemacht`); + } + // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren if (powerUpsToTrigger.length > 0) { setTimeout(() => {