08/01/2009
Mastermind, quick and dirty as it gets.
Hop, en vitesse le temps que l'eau chauffe pour un thé, un petit jeu de quasi-Mastermind pondu d'un seul trait en Python. Le principe est le même que celui du jeu original, mais avec un gameplay un peu adapté: le code est composé de 4 chiffres entre 0 et 9 inclus, on dispose de 5 essais pour le trouver. A chaque essai le jeu donne un indice pour raffiner l'essai suivant: un "o" pour un bon chiffre à la bonne place, un "x" pour un bon chiffre à la mauvaise place, un "_" pour un mauvais chiffre. Nettement plus sympathique que le "vrai" Mastermind, pour ça qu'on a beaucoup moins d'essais :)
Pas de vérification, on suppose que l'utilisateur sait ce qu'il fait.
#! /usr/bin/env python
# 2009/01/08 - mastermind-0.py
# Jeu de Mastermind, premier jet
# Jean Karim Bockstael - jkb@jkbockstael.be
from random import randint
print """Code de 4 chiffres, entre 0 et 9 inclus, a trouver en 5 essais max.
o : bon chiffre, bonne place
x : bon chiffre, mauvaise place
_ : mauvais chiffre
"""
code = ''
for i in range(0,4):
code = code + str(randint(0,9))
trycode = ''
trynum = 0
while trynum < 5:
trynum = trynum + 1
trycode = raw_input('Essai: ')
hint = ''
for i in range(0,4):
if trycode[i] == code[i]:
hint = hint + 'o'
elif code.find(trycode[i]) != -1:
hint = hint + 'x'
else:
hint = hint + '_'
if hint == 'oooo':
break
print trycode, ':', hint
if hint == 'oooo':
print "Gagne!"
else:
print "Perdu! Le code etait:", code