score dans le jeu pas que dans le menu

This commit is contained in:
2025-12-01 23:40:16 +01:00
parent 34fd7d1f4e
commit 366aa894a2
3 changed files with 137 additions and 1 deletions

45
game.js
View File

@ -7,6 +7,7 @@ const statusElement = document.getElementById('status');
const restartBtn = document.getElementById('restartBtn');
const usernameInput = document.getElementById('username');
const leaderboardElement = document.getElementById('leaderboard');
const gameLeaderboardContent = document.getElementById('gameLeaderboardContent');
const gameOverlay = document.getElementById('gameOverlay');
const finalScoreElement = document.getElementById('finalScore');
const finalLevelElement = document.getElementById('finalLevel');
@ -1812,6 +1813,7 @@ function initGame() {
placeBonuses();
countDots();
updateGameLeaderboard();
gameLoop();
}
@ -1879,6 +1881,7 @@ function saveScore() {
const topScores = scores.slice(0, 10);
localStorage.setItem('pacmanScores', JSON.stringify(topScores));
updateLeaderboard();
updateGameLeaderboard();
updateBestScore(); // Mettre à jour le meilleur score dans le menu
}
}
@ -1920,6 +1923,48 @@ function updateLeaderboard() {
});
}
function updateGameLeaderboard() {
if (!gameLeaderboardContent) return;
const scores = getScores();
gameLeaderboardContent.innerHTML = '';
if (scores.length === 0) {
gameLeaderboardContent.innerHTML = '<div class="empty-leaderboard" style="text-align: center; color: #888; padding: 20px; font-size: 0.7em;">Aucun score</div>';
return;
}
// Afficher seulement les 10 premiers
const topScores = scores.slice(0, 10);
topScores.forEach((entry, index) => {
const item = document.createElement('div');
item.className = 'leaderboard-item' + (index < 3 ? ' top' : '');
const rank = document.createElement('div');
rank.className = 'leaderboard-rank';
rank.textContent = (index + 1) + '.';
const name = document.createElement('div');
name.className = 'leaderboard-name';
name.textContent = entry.username || 'Anonyme';
const levelDiv = document.createElement('div');
levelDiv.className = 'leaderboard-level';
levelDiv.textContent = 'N' + (entry.level || 1);
const scoreDiv = document.createElement('div');
scoreDiv.className = 'leaderboard-score';
scoreDiv.textContent = entry.score;
item.appendChild(rank);
item.appendChild(name);
item.appendChild(levelDiv);
item.appendChild(scoreDiv);
gameLeaderboardContent.appendChild(item);
});
}
restartBtn.addEventListener('click', () => {
initGame();
});