Skip to content
Snippets Groups Projects
Commit 90559b03 authored by Julien Bouin's avatar Julien Bouin
Browse files

fix bugs et afficher les 10 meilleurs scores

parent 6824910c
No related branches found
No related tags found
No related merge requests found
export class GestionScore {
async afficherScores(fichier) {
try {
const response = await fetch(fichier);
const scores = await response.json();
let html =
'<table><thead><tr><th>Nom</th><th>Score</th></tr></thead><tbody>';
scores.results.forEach(result => {
html += `<tr><td>${result.nom}</td><td>${result.score}</td></tr>`;
});
html += '</tbody></table>';
console.log(html);
return html;
} catch (error) {
console.error('Erreur lors de la lecture du fichier JSON :', error);
return null;
}
}
}
......@@ -23,6 +23,99 @@
{
"nom": "test",
"score": -15
},
{
"nom": "pierre",
"score": 20
},
{
"nom": "rayane",
"score": -15
},
{
"nom": "p",
"score": 30
},
{
"nom": "pp",
"score": -15
},
{
"nom": "ma",
"score": 70
},
{
"nom": "ppapa",
"score": 40
},
{
"nom": "mm",
"score": 55
},
{
"score": -15
},
{
"nom": "testtt",
"score": -15
},
{
"score": -5
},
{
"nom": "test",
"score": -15
},
{
"nom": "m",
"score": 20
},
{
"nom": "m`",
"score": -15
},
{
"nom": "p",
"score": 5
},
{
"nom": "m",
"score": -25
},
{
"nom": "test",
"score": -10
},
{
"nom": "p",
"score": -15
},
{
"nom": "^",
"score": -15
},
{
"nom": "m",
"score": -5
},
{
"nom": "tes",
"score": -15
},
{
"score": -10
},
{
"nom": "p",
"score": 0
},
{
"nom": "m",
"score": 5
},
{
"nom": "p",
"score": -10
}
]
}
\ No newline at end of file
import { GestionScore } from './GestionScoresClient.js';
export default class setHtml {
static credits() {
return `
......
......@@ -9,13 +9,21 @@ export class GestionScore {
try {
const data = fs.readFileSync(this.jsonFilePath);
const scores = JSON.parse(data);
// Trier les scores par ordre décroissant
scores.results.sort((a, b) => b.score - a.score);
let html =
'<table><thead><tr><th>Nom</th><th>Score</th></tr></thead><tbody>';
scores.results.forEach(result => {
// Afficher les 10 premiers résultats
const numberOfResults = Math.min(10, scores.results.length);
for (let i = 0; i < numberOfResults; i++) {
const result = scores.results[i];
html += `<tr><td>${result.nom}</td><td>${result.score}</td></tr>`;
});
html += '</tbody></table>';
}
html += '</tbody></table>';
return html;
} catch (error) {
console.error('Erreur lors de la lecture du fichier JSON :', error);
......
......@@ -7,7 +7,7 @@ import enemi from './enemis.js';
import { Coordinate } from '../common/Coordinate.js';
import timer from './timer.js';
import Bonus from './bonus.js';
import { bonusImages, bonusNoms, bonusTaille } from '../common/utils.js';
import { bonusNoms } from '../common/utils.js';
import { GestionScore } from './ScoreBoard.js';
const app = express();
......@@ -183,7 +183,8 @@ setInterval(() => {
enemis.forEach(enemi => {
if (
enemi.hitbox.colision(avatar.hitbox) &&
avatar.getStatut() != 'invincibilite'
avatar.getStatut() != 'invincibilite' &&
!avatar.spectateur
) {
if (canLostLifeAvatar) {
avatar.decrementScore(5);
......@@ -201,14 +202,16 @@ setInterval(() => {
io.emit('dead', avatar.id);
}
}
if (enemi.getVies() < 0) {
avatar.incrementScore(5);
enemis.splice(enemis.indexOf(enemi), 1);
}
enemi.deplacer();
avatar.colision(enemi.hitbox);
avatar.projectiles.forEach(projectile => {
if (projectile.hitbox.colision(enemi.hitbox)) {
if (enemi.getVies() < 0) {
console.log(avatar.id);
avatar.incrementScore(5);
enemis.splice(enemis.indexOf(enemi), 1);
}
avatar.projectiles.splice(
avatar.projectiles.indexOf(projectile),
1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment