Examen blanc de JavaScript
Jeu de devinette interactif en JavaScript
Vous allez créer une page web interactive permettant à un utilisateur de jouer à un jeu de devinette.
L’utilisateur devra deviner un nombre aléatoire compris entre 1 et 100 choisi par l’ordinateur.
Le jeu affichera des indices après chaque tentative, et enregistrera le nombre de tentatives pour
chaque joueur.
Structure de la page (HTML) :
<div class="container">
<div id="player" class="alert alert-info"></div>
<div class="row">
<div class="col col-md-9">
<input type="number" class="form-control" />
</div>
<div class="col col-md-3 mb-2">
<input
type="button"
value="Déviner"
class="btn btn-outline-primary w-100"
/>
</div>
<div id="tips"></div>
<table class="table">
<thead>
<tr>
<th>Nom du joueur</th>
<th>Nombre de tentative</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
1/2
Examen blanc de JavaScript
1. Utiliser une classe Player pour représenter un joueur, avec nom et tentative comme
attributs.
2. Nom du joueur au démarrage :
• Au chargement de la page, le joueur doit entrer son nom via une boîte de dialogue
prompt(). Le nom est ensuite affiché dans le <div id="player"> en haut de la page.
3. Génération d’un nombre aléatoire :
• Le programme génère aléatoirement un nombre entier entre 1 et 100 et le garde
secret.
4. Deviner un nombre :
• Quand il clique sur le bouton “Deviner” :
o Si la valeur saisie est invalide (vide, non numérique, ou hors de 1 à 100), un
message d’erreur s’affiche dans le <div id="tips">.
o Sinon, comparer la saisie avec le nombre secret :
▪ Si la saisie est inférieure → afficher “C’est plus grand” dans #tips.
▪ Si la saisie est supérieure → afficher “C’est plus petit” dans #tips.
▪ Si la saisie est égale → afficher un message de félicitations indiquant
le nombre d’essais effectués.
5. Enregistrement du score :
• Lorsque le joueur devine le bon nombre :
o Créer une instance de la classe Player avec son nom et son nombre de
tentatives.
o Ajouter cette instance dans un tableau d’objets Player.
o Trier le tableau du meilleur score au moins bon (du moins de tentatives au
plus grand nombre).
o Réafficher toutes les lignes du tableau actualisé.
o Convertir le tableau en JSON string avec [Link]() pour l’enregistrer
dans le cookie
• Au chargement de la page :
o Vérifier si le cookie players existe
o Si oui, récupérer la valeur, la parser avec [Link]() pour reconstruire le
tableau d’objets Player
o Puis l’afficher dans le tableau HTML
6. Fin de partie :
• Après la victoire, désactiver le champ de saisie et le bouton pour bloquer les
interactions.
2/2