ex_III05b_Jeu_de_Nim.
py TOP
Jeu de Nim à deux joueurs. D'un tas d'allumettes, il faut en enlever chacun son
tour...
Variante, où un joueur n'a pas le droit de prendre le même nombre d'allumettes que
précédent.
# ex_III05b_Jeu_de_Nim.py
'''
Variante du jeu de Nim,
Il y a deux joueurs.
Un tas commence avec 30 allumettes.
Chacun à leur tour, un joueur doit enlever 1, 2 ou 3 allumettes du tas.
Celui qui pend la dernière allumette a perdu.
La variante est qu'il est interdit de prendre le même nombre d'allumettes
que le joueur précédent.
'''
nb_allumettes = 30
nb_precedent = 0 # nombre d'allumettes prise par le joueur précédent
joueur1 = input( ' Quel est ton nom joueur 1 ? ' )
joueur2 = input( ' Quel est ton nom joueur 2 ? ' )
while ( nb_allumettes > 0) :
print ( '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' )
print ( ' Information : Il reste ', nb_allumettes, 'allumettes.' )
print ( '−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' )
nb_enleve = 4
while( (nb_enleve > 3) or (nb_enleve < 1) or (nb_enleve > nb_allumettes)):
try:
nb_enleve = int(input( "Combien enleves−tu d’allumettes " + joueur1 + "
? " ))
if ( nb_enleve > 3):
print ('Tu ne peux pas enlever plus que 3 allumettes !' )
elif ( nb_enleve < 1):
print ('Il faut enlever au moins une allumette !' )
elif ( nb_enleve == nb_precedent):
print ('Tu ne peux pas prendre le même nombre d''allumette que le
joueur précédent !' )
elif ( nb_enleve > nb_allumettes ):
print ("Tu ne peux pas enlever autant d’allumettes !" )
else:
nb_allumettes = nb_allumettes - nb_enleve
joueur1, joueur2 = joueur2, joueur1 # échange le nom des joueurs.
nb_precedent = nb_enleve # mémorise le nombre d'allumettes prises
par le joueur précédent.
if ( nb_allumettes == 0 ):
print ( "******************** \n \n \n \n " )
print ( joueur1, ' a gagné ! ', joueur2, ' a perdu, car il a pris
la dernière allumette.')
break
except:
print("Entre un chiffre entre 1 et 3")