Bonjour, je dois finir le programme de puissance 4, il ne me reste que le test d'alignement mais je rencontre des problèmes pour le faire et lors de l'exécution, pourriez-vous m'aider svp

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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#imports
from time import *
 
#fonctions
 
    #fonction pour placer les jetons dan la grille
 
def ecrireTableau (tab, lig , col , val) :
    tab [lig][col] = val
 
    #fonction pour afficher la grille et les séparations en fonction des dimensions du tableau
 
def affiche(tab):
    head   = '       '
    for i in range (m):
        if i < 10 :
         head = head + str(i+1) + '        '
        else :
            head = head + str(i+1) + '      '
    row ='  ║        ║ '
    hsepdebut = '  ╔' +((8)*'═' + '╦')*(m-1)+ (8)*'═'+'╗'
    hsep   = '  ╠'+(m-1)*((8)*'═' +'╬')+ (8)*'═'+ '╣'
    vspace = ('  ║'+6*' ') *(m)  + (2)*' ' +'║'
    hsepfinal = '  ╚' +(m-1)*((8)*'═' +'╩') + (8)*'═' +'╝'
 
    print(head)
    print (hsepdebut)
    for i in range (l) :
        print (vspace)
 
        if p4[i][0] == '':
            row = '  ║     '+p4[i][0]+'   ║ '
        else:
            row = '  ║    '+p4[i][0]+'   ║ '
        for j in range (m-1) :
            if p4[i][j+1] == '':
                row = row + '   '+str(p4[i][j+1])+'    ║ '
            else :
                row = row + '   '+str(p4[i][j+1])+'   ║ '
        print(row)
        print (vspace)
        if i<(l-1):
           print(hsep)
        else :
            print(hsepfinal)
 
 
    # fonction pour créer le tableau (nb lignes et colonnes)
 
def creerTableau (lig,col) :
    a = [0] * lig
    for i in range(lig):
        a[i] = [''] * col
    return a
 
    #fonction pour la chute des jetons
 
def chute (tab,col) :
    k = 0
    casevide = True
    #time.sleep (1) ne marche pas il faut faire avec (sleep)
    while (casevide==True and k<l) :
        sleep (0.4)
        if p4[k][c] == '':
            ecrireTableau (p4,k,c,signe)
            if k > 0 :
                p4 [k-1][c] = ''
        else :
            casevide = False
        k = k+1
        print (60*'\n')
        affiche (p4)
 
#def alignementhorizontal(tab,lig, col, signe) :
 
   # alignement = True
 
    #for a in range(l) :
   #     for b in range(m-3) :
     #       while (alignement == True and  b < m-3) :
 
   #             if p4[a][b] == p4[a][b+1] == p4[a][b+2] == p4[a][b+3] == signe :
    #                print ("Le jeu est terminé")
     #              alignementhorizontal = False
      #        else :
       #             alignementhorizontal = True
 
#def alignementvertical(tab,lig, col, signe) :
 
 #   alignement = True
 
  #  for c in range(m) :
   #     for d in range(l-3) :
   #         while (alignement == True and  b < m-3) :
 
    #            if p4[d][c] == p4[d+1][c] == p4[d+2][c] == p4[d+3][c] == signe :
     #               print ("Le jeu est terminé")
      #              alignementvertical = False
       #         else :
       #             alignementvertical = True
 
 
 
#programme
 
    # définir nombre lignes et colonnes et colonne dans laquelle on met le jeton
 
joueur1 = input(("le joueur 1 est :"))
joueur2 = input(("le joueur 2 est :"))
l= int(input ("nombre de lignes :"))
m= int(input ("nombre de colones :"))
 
 
    # mettre dans la boucle du jeu
jeu = True
tour = 1
#c = int (input ("colonne :"))-1
p4 = creerTableau (l,m)
 
 
#boucle jeu
 
while jeu :
    if  tour %2 == 0  :
        signe = '0'
        print(joueur2,"joue dans la colonne :")
        c = int (input ("colonne :"))-1
        tourjoueur = c
        chute (p4,c)
 
 
 
 
        #alignement horizontal
 
        for a in range(l) :
            for b in range(m-3) :
                while ( b < m-3) :
 
                    if p4[a][b] == p4[a][b+1] == p4[a][b+2] == p4[a][b+3] == 0 :
                        print ("Le jeu est terminé")
                        jeu = False
                    else :
                        jeu = True
 
                        #alignement vertical
 
        for c in range(m) :
            for d in range(l-3) :
                while ( b < m-3) :
 
                    if p4[d][c] == p4[d+1][c] == p4[d+2][c] == p4[d+3][c] == 0 :
                        print ("Le jeu est terminé")
                        jeu = False
                    else :
                        jeu = True
 
#alignement diago plus tard
 
 
 
 
 
 
        if tourjoueur == 'q' :
            jeu = False
        else :
            print ("au tour de" ,joueur1)
            tour = tour + 1
 
    else :
        signe = 'X'
        print(joueur1, "joue dans la colonne :")
        c = int (input ("colonne :"))-1
        tourjoueur = c
 
        chute (p4, c)
        if tourjoueur == 'q':
            jeu = False
        else :
            print ("au tour de, joueur2")
            tour = tour + 1


voila merci de votre aide ^^