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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| def Pioche():
# Une carte est un dictionnaire
# La clé point donne le nombre de point d'une carte
# La clé CheminImage donne le chemin pour accéder aux images à afficher dans le canvas Tapis à chaque fois que l'on appelle la fonction
# La variable x sert à déplacer chaque image pour superposer les images de cartes
# Le paquet et la main sont des listes contenant les cartes
global paquet,main
global i,x
global ListeImage
global PointPerso
main.append(paquet[0])
paquet.remove(paquet[0])
PointPerso = PointPerso + main[-1]["point"]
# interface graphique
ListeImage[i] = PhotoImage(file = main[-1]["CheminImage"])
Tapis.create_image(x,0, anchor ='nw', image=ListeImage[i])
Tapis.grid(row =1)
i =i+1
x =x+30
TextePoints.config(text ="Vous avez " + str(PointPerso) + " points")
def distribuer(paquet):
"Une fonction qui distribue le jeu"
# On définit la main du joueur et du croupier selon une liste
global main,croupier
main=[]
croupier=[]
# On distribue les cartes en modifiant les listes paquets, main et croupier
# 1ère carte
Pioche()
# 2ème carte
# La pioche du croupier fonctionne sur le même principe que celle du joueur sauf que les variables ne sont pas globales mais passées en arguments et renvoyées
paquet,croupier = PiocheCroupier(paquet,croupier)
# 3ème carte
Pioche()
# Interface graphique
# On va modifier les boutons cartes et voir pour les rendre cliquables
# On effectue d'abord un test pour vérifier si le joueur peut piocher
if PointPerso < 21 or (main.__len__() == 2 and PointPerso == 22):
# L'erreur est ici, la fonction Pioche se déclenche toute seule
ButCarte.configure(relief ='raised', command =Pioche())
ButVoir.config(relief ='raised',command =Inactif)
return paquet,main,croupier,PointPerso,PointCroupier
#initialisation de l'interface graphique
fen.mainloop()
# il y a d'autres fonctions avant (dont une qui ferme la mainloop)
paquet,main,croupier,PointPerso,PointCroupier = distribuer(paquet) |
Partager