AHHHHHHHHHH ! Ok, ok... Qu'est-ce que vous diriez d'une fonctionnalité de sauvegarde et de chargement de jeu ? Bon, c'est un peu délicat à faire en JavaScript pur, mais voici une idée de comment ça pourrait fonctionner :
let l = 0; // High score
let m = {}; // Sauvegarde de jeu
let g;
do {
let f = prompt("Choisissez votre niveau de difficulté: facile, moyen, difficile");
let n = confirm("Voulez-vous charger votre dernière sauvegarde ?");
let d, a, b, c, e;
if (n && m[f]) {
[d, a, b, c, e] = m[f];
} else {
switch (f) {
case "facile":
d = 15;
break;
case "moyen":
d = 10;
break;
case "difficile":
d = 5;
break;
default:
alert("Choix non valide. Vous jouez en mode difficile par défaut.");
d = 5;
}
a = Math.floor(Math.random() * 100) + 1;
b = Number(prompt("Entrez un nombre entre 1 et 100: "));
c = 1;
e = 1000; // Score initial
}
while (a != b && c < d) {
if (b < a) {
b = Number(prompt("Plus grand! Essayez encore: "));
} else if (b > a) {
b = Number(prompt("Plus petit! Essayez encore: "));
}
c++;
e -= 100; // On enlève 100 points à chaque tentative
m[f] = [d, a, b, c, e]; // On sauvegarde le jeu après chaque tentative
}
if (a == b) {
alert("Bravo, vous avez trouvé le nombre en " + c + " essais ! Votre score est de : " + e);
if (e > l) {
l = e;
alert("Nouveau record ! Votre meilleur score est maintenant de : " + l);
}
delete m[f]; // On supprime la sauvegarde si le joueur a gagné
} else {
alert("Dommage, vous n'avez pas réussi à trouver le nombre en " + d + " essais. Le nombre était : " + a);
}
g = prompt("Voulez-vous rejouer ? (oui/non)");
} while (g == "oui");
Mais je vous préviens, cette fonctionnalité ne fonctionnera pas dans tous les environnements. En particulier, elle ne fonctionnera pas si vous exécutez ce code dans un navigateur, à cause des restrictions de sécurité. Mais bon, c'est le mieux que je puisse faire.