Il y a déjà eu une question sur la simulation du problème de Monty Hall . Celui-ci est différent. L' utilisateur va jouer le problème de Monty Hall. Votre programme jouera le rôle d'hôte. Montybot, si vous voulez.
Voici les étapes:
- Choisissez (au hasard) laquelle des trois portes cache le prix.
- Sortie d'un affichage visuel de trois portes. Une simple
ABCvolonté suffira. Ou trois carrés. Ou peu importe. - Recevez une entrée en choisissant l'une des portes. Cela peut être un clic de souris sur la porte choisie, ou une entrée d'une seule lettre (
B) ou autre. - Ouvrez une autre porte. Vous n'ouvrez pas la porte choisie. Vous n'ouvrez pas la porte en cachant le prix principal. Cela peut signifier que vous n'avez pas le choix, ou cela peut signifier que vous avez le choix entre deux. Si vous avez le choix entre deux, choisissez-en un au hasard. Indiquez visuellement que la porte a été ouverte et qu'aucun prix n'a été caché derrière. Pour une entrée / sortie textuelle de programme, cela peut être aussi simple que de sortir
AB0, pour montrer que la porteCa été ouverte. N'hésitez pas à être plus inventif. Si vous faites un programme GUI, votre choix d'affichage dépend de vous. - Acceptez les entrées de l'utilisateur. L'utilisateur peut entrer
stickouswitch(ou, pour un programme GUI, cliquer sur les boutons, ou utiliser une entrée de sélection, ou autre). Si l'utilisateur entre autre chose questickouswitch, l'implémentation n'est pas définie. Fais ce que tu veux. - Sortez le texte
You won!ouYou lost. - Arrêtez le programme.
Règles:
- Lorsque vous devez choisir quelque chose au hasard , ne vous inquiétez pas du caractère aléatoire cryptographique. N'importe quelle
rand()fonction fera l'affaire. - Le programme ne doit pas tricher. Le prix doit être en place avant le début du jeu. C'est-à-dire que les étapes doivent être effectuées dans l'ordre indiqué: choisissez d' abord une porte derrière laquelle cacher votre lot, puis demandez au joueur de choisir. Le choix de la porte à ouvrir à l'étape 4 doit se faire à l'étape 4: elle n'est pas sélectionnée à l'avance.
- Le résultat de l'étape 6 doit être honnête.
- C'est le golf de code. Le code le plus court gagne.