Bonjour, je dois réaliser un programme python avec Turtle du jeu Puissance 4. je n'arrive pas afficher les pions dans la grille Turtle, le jeu fonctionne, il se termine quand 4 pions sont alignés mais je ne trouve pas de fonction/code qui affiche les pions. Voici mon programme :
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
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
from turtle import*
# La fonction dessiner_grille() dessine une grille vide dans la fenêtre de la tortue
def quadrillage():
    up()
    goto(x_base,y_base)
    down()
    # traits horizontaux :
    for i in range(8):
        forward(7*largeur)
        up()
        goto(x_base,y_base+i*largeur)
        down()
    # traits verticaux :
    up()
    goto(x_base,y_base)
    setheading(90)
    down()
    for i in range(9):
        forward(6*largeur)
        up()
        goto(x_base+i*largeur,y_base)
        down()
    # affiche le numéro des colonnes sous la grille :
    for i in range(7):
        up()
        goto(x_base+i*largeur+largeur//2,y_base-largeur//2)
        down()
        write(str(i))
 
x_base = -170
y_base = -150
largeur = 50
 
# Affiche la grille sur l'interface turtle
quadrillage()
 
def quadrillage_vide():
    g = [[0 for i in range(7)] for i in range(6)]
    return g
 
# La fonction dessiner_pion(x,y,couleur) ajoute un pion dans la case (a,b ; allant de respectivement de 0 à 6 et 0 à 5
 
 
def coup_possible(g,c):
    return g[5][c]==0
 
def jouer(g,j,c):
    l=5
    while l>0 and g[l-1][c]==0:
        l=l-1
    g[l][c]=j
 
def vert(g,j,l,c):
    for i in range(4):
        if g[l+i][c] != j:
            return False
    return True
 
def horiz(g,j,l,c):
    for i in range(4):
        if g[l][c+i] != j:
            return False
 
    return True
 
def diag1(g,j,l,c):
    for i in range(4):
        if g[l + i][c - i] != j:
            return False
 
    return True
 
def diag2(g,j,l,c):
    for i in range(4):
        if g[l + i][c - i] != j:
            return False
    return True
 
 
def victoire(g,j):
    for l in range(6):
        for c in range(7):
            if (c<4 and horiz(g,j,l,c)) or (l<3 and vert(g,j,l,c)) or (c<4 and l<3 and diag1(g,j,l,c)) or (c<2 and l<3 and diag2(g,j,l,c)):
                return True
    return False
 
 
def quadrillage_plein(g):
    for c in range(7):
        if g[5][c]==0:
            return False
 
    return True
 
quadrillage = quadrillage_vide()
(quadrillage)
 
joueur_actuel = 1
 
while not (victoire(quadrillage, 1) or victoire(quadrillage, 2) or quadrillage_plein(quadrillage)):
    (quadrillage)
 
    colonne = int(input("choisissez une colonne ")) -1
 
    if 0 <= colonne < 7 and coup_possible(quadrillage, colonne):
        jouer(quadrillage, joueur_actuel, colonne)
 
        if victoire(quadrillage, joueur_actuel):
            (quadrillage)
            print("Le joueur", {joueur_actuel},"4 a gagné !")
        elif quadrillage_plein(quadrillage):
            (quadrillage)
            print("La partie est nulle.")
        else:
            if joueur_actuel == 1:
                joueur_actuel = 2
            else:
                joueur_actuel = 1
    else:
        print("Coup invalide. Choisissez une colonne valide.")
 
print("Fin de la partie.")