Bonjour à tous
Je suis en train de programmer un jeu de Monopoly sur python 3.3.2, et je rencontre un problème pour terminer la fonction "Avancement".
J'ai crée cette fonction pour simuler le déplacement d'un joueur sur les 40 cases du Monopoly.
Concrètement, je fais évoluer aléatoirement un petit "1" dans une liste de taille 40.
Voici la fonction :
Si l'image ne s'affiche pas, Voici la fonction :
Et ce qui apparait dans la console ( Je remplacerai par la suite les "-" par des "0" ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 def Avancement(L,Position): # L est ma liste simulant les 40 cases k=0 if (Position!=0): k=Position L[Position]="-" x=Dés() # Dés() est ma fonction qui génère aléatoirement un entier entre 2 et 12 if (Position<28): L[k+x]=1 Position=k+x AffichageListe(L) else: # Cette condition permet d'éviter "list index out of range" k=0 L[k+x]=1 Position=k+x AffichageListe(L) return Position a=Avancement(Aj1,0) # Ici, je simule le parcours sur 20 lancés de dés for k in range(20): b=a a=Avancement(Aj1,b)
( - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - )
( - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - )
( - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - )
( - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - )
( - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - )
( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - )
( - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - )
( - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - ) etc ...
Mon problème, c'est qu'avec cette méthode, la probabilité de tomber sur les 12 dernières cases du Monopoly est moins importante.
Comment puis-je donc faire ?
Je vous remercie par avance de votre aide![]()
Partager