TP d`algorithmique - bonus numéro 4 Jeu du pendu

Transcription

TP d`algorithmique - bonus numéro 4 Jeu du pendu
Lycée Maximilien Sorre
Année 2014-2015
BTS SIO 1
TP d’algorithmique - bonus numéro 4
Jeu du pendu
Le but de ce TP est de programmer un jeu du pendu. Dans ce jeu, il y a un maître du jeu et
un joueur. Voici le principe du jeu :
• Un mot est choisi au hasard par le maître du jeu. Celui-ci indique alors au joueur le nombre
de lettres que contient le mot.
• Le joueur essaye ensuite de deviner le mot. Pour cela, il dispose de dix essais. À chaque
essai, il propose une lettre de l’alphabet. Si le mot à trouver contient cette lettre, le maître
du jeu indique au joueur à quelle position dans le mot apparaît la lettre (si la lettre apparaît
plusieurs fois, le maître du jeu indique toutes les positions). Dans ce cas, le joueur ne perd
pas d’essai. Si la lettre n’apparaît pas, le joueur perd un essais.
• Si après avoir perdu ses 10 essais le joueur n’a pas trouvé le mot, il a perdu la partie.
Dans ce TP :
• Un joueur humain affronte l’ordinateur (qui est donc le maître du jeu).
• Les seuls caractères autorisés pour les mots sont les 26 lettres de l’alphabet non accentuées
et en minuscules.
• L’ordinateur choisit au hasard un mot parmi une liste de mots. La liste de mots est
matérialisée par une variable de type list dont les éléments sont des chaînes de caractères.
En cas de manque d’inspiration pour créer une telle liste, on pourra télécharger la liste
disponible à l’adresse :
amandine.schreck.free.fr/algo/bonus4/liste_mots.py
• À chaque tour, l’ordinateur affiche une chaîne de caractères de la même longueur que le
mot à deviner, comportant les lettres déjà devinées par le joueur, et dans laquelle les lettres
non encore devinées sont remplacées par le symbole “souligné” : _. Par exemple si le mot à
deviner est arbre et que l’utilisateur a proposé uniquement la lettre r, l’ordinateur affiche :
_r_r_
• À chaque tour, l’ordinateur affiche également le nombre d’essais restants, ainsi que les
lettres déjà tentées.
• Si la lettre choisie par le joueur a déjà été tentée, l’ordinateur affiche un message, et
redemande de choisir une lettre.
• À la fin de la partie, l’ordinateur affiche si le joueur a gagné ou perdu, ainsi que le mot à
deviner.
Exercice 1.
Écrire l’algorithme du jeu du pendu.
Exercice 2 (Pour aller plus loin).
Pour améliorer l’algorithme précédent, on pourra gérer les caractères accentués et les majuscules (à l’aide par exemple d’une fonction remplaçant ces caractères par leur équivalent
minuscule et non accentué, et en envoyant un message d’erreur si la lettre choisie par le joueur
est majuscule ou accentuée).
Dans la version originale du jeu, un dessin représentant un pendu est formé au fil des essais
perdus. On pourra utiliser la fonction print pour afficher un tel dessin.
1