diff --git a/game.js b/game.js index 5e2dc9b..375fbd7 100644 --- a/game.js +++ b/game.js @@ -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 = '
Aucun score
'; + 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(); }); diff --git a/index.html b/index.html index 592f37c..8b4e547 100644 --- a/index.html +++ b/index.html @@ -91,6 +91,14 @@ + +
+
+

🏆 Classement

+
+
+
+