Mastermind (problème de code)
Bonjour,
J'ai soudainement eu envie de tenter de programmer un jeu style Mastermind en python, mais cela ne fonctionne pas pour une raison que je ne comprends pas.
J'ai tenté de visualiser le fonctionnement du programme étape par étape via "pythontutor.com" mais cela n'a pas été très concluant...
Le problème doit être évident mais je n'arrive pas à mettre le doigt dessus...
Ca se verra dans mon code, mais je précise tout de même que je débute :)
Merci d'avance !
***************************************************
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
import random
def demander_liste():
print ('La combinaison cachée est :')
L = input()
return L
def creer_liste():
L = []
for i in range(4):
a = random.randint(1, 8)
L.append(a)
return L
def mastermind(n=1):
if n == 1:
L = creer_liste() #python détermine une liste de 4 couleurs/numéros au hasard
else:
L = demander_liste() #un 2eme joueur donne la liste des couleurs/numéros
compteur = 0
R = 0 #R est le nombre de numéros bien placés
B = 0 #B est le nombre de numéros mal placés mais présents dans la combinaison
gagne = False
while gagne == False:
compteur += 1
print('Insérez une combinaison')
courant = input()
R, B = 0, 0
for i in range(4):
if L[i] == courant[i]: #C'est ici que le problème commence...
R += 1
for j in range(4):
if i != j:
if L[i] == courant[j]:
B += 1
if R == 4:
gagne = True
else:
print('bien placés :', R)
print('mal placés :', B)
return "Gagné en" + str(compteur) + "coups !" |