feat(match3): Erweiterung der Match-Zähler-Logik für Level-Objekte

- 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.
This commit is contained in:
Torsten Schulz (local)
2025-08-28 16:57:12 +02:00
parent b5b1a90319
commit 30fdaa8712

View File

@@ -1862,6 +1862,12 @@ export default {
console.log(`🎯 Match-Punkte hinzugefügt: +${totalMatchPoints} Punkte (Level: ${this.levelScore}, Gesamt: ${this.score})`); 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 // Debug: Zeige alle Tiles, die zur Entfernung hinzugefügt wurden
console.log('🔧 Debug: Alle Tiles, die zur Entfernung hinzugefügt wurden:'); console.log('🔧 Debug: Alle Tiles, die zur Entfernung hinzugefügt wurden:');
tilesToRemove.forEach(index => { tilesToRemove.forEach(index => {
@@ -4927,11 +4933,17 @@ export default {
console.log(`🌈 ${tilesToRemove.length} Tiles vom Typ ${targetType} entfernt, +${points} Punkte`); console.log(`🌈 ${tilesToRemove.length} Tiles vom Typ ${targetType} entfernt, +${points} Punkte`);
// WICHTIG: Prüfe Level-Objekte nach der Regenbogen-Aktivierung // WICHTIG: Erhöhe den Match-Zähler für Level-Objekte
if (!this.isInitializingLevel) { if (!this.isInitializingLevel) {
console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Aktivierung...'); this.matchesMade += 1;
this.checkLevelObjectives(); 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 // Neue Methode: Behandle Power-Up Tile Tausch
@@ -5139,6 +5151,12 @@ export default {
console.log(`🌈 Alle Tiles erfolgreich entfernt! +${points} Punkte`); 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 // WICHTIG: Prüfe Level-Objekte nach dem Regenbogen-Tausch
if (!this.isInitializingLevel) { if (!this.isInitializingLevel) {
console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Tausch...'); console.log('🎯 Prüfe Level-Objekte nach Regenbogen-Tausch...');
@@ -5199,6 +5217,12 @@ export default {
this.levelScore += points; this.levelScore += points;
this.score += 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 // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren
// UND nur wenn es sich um eine manuelle Aktivierung handelt // UND nur wenn es sich um eine manuelle Aktivierung handelt
if (powerUpsToTrigger.length > 0 && isManualActivation) { if (powerUpsToTrigger.length > 0 && isManualActivation) {
@@ -5288,7 +5312,11 @@ export default {
this.explodeBomb(index, 1, true); 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 // Neue Methode: Erstelle zufällige Raketen
@@ -5336,7 +5364,11 @@ export default {
this.handleRocketDoubleClick(rocketIndex); 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 // Neue Methode: Behandle Rakete + Bombe Kombination
@@ -5382,6 +5414,12 @@ export default {
const points = tilesToRemove.length * 25 * this.currentLevel; const points = tilesToRemove.length * 25 * this.currentLevel;
this.levelScore += points; this.levelScore += points;
this.score += 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) // Explodiere am Landungsort (9 Felder = 1 Ring)
this.explodeBomb(landingIndex, 1, true); 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.levelScore += points;
this.score += 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 // Starte 3 Raketen auf zufällige Felder
this.launchThreeRockets([rocket1Index, rocket2Index]); this.launchThreeRockets([rocket1Index, rocket2Index]);
} }
@@ -5790,6 +5838,12 @@ export default {
this.levelScore += points; this.levelScore += points;
this.score += 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 // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren
if (powerUpsToTrigger.length > 0) { if (powerUpsToTrigger.length > 0) {
setTimeout(() => { setTimeout(() => {
@@ -5867,6 +5921,12 @@ export default {
this.levelScore += points; this.levelScore += points;
this.score += 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 // Löse Kettenreaktionen nur für Power-Ups aus, die noch existieren
if (powerUpsToTrigger.length > 0) { if (powerUpsToTrigger.length > 0) {
setTimeout(() => { setTimeout(() => {