Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Quelqu'un pour commenter ce code en Python
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="MakeProfit" data-source="post: 7381126" data-attributes="member: 294762"><p style="text-align: center">Bonsoir a tous,</p> <p style="text-align: center"></p> <p style="text-align: center">J'ai le code d'un Puissance 4 en Python avec Processing, cela fait un moment que j'essaye de le comprendre mais je ne capte pas tout.</p> <p style="text-align: center">Par exemple, pour la fonction def verify():</p> <p style="text-align: center">Je n'arrive pas a bien la comprendre, je sais quelle vérifie le vainqueur, les alignements (Honrizontal, vertical, et diagonales) mais je ne comprend pas comment.</p> <p style="text-align: center"></p> <p style="text-align: center">Je cherche une personne de calé en Python qui pourrais m'éclairer un peu ce code.</p><p>[CODE=python]grid = [[[] for j in range(6)] for i in range(7)] #Grille de 6 par 7</p><p>dir = [(-1, -1), (-1, 1), (0, -1), (1, 0)] #On défini un repere</p><p>coef = 100</p><p>player = "Red"</p><p></p><p>def setup(): # 7*6</p><p> size(coef*7, coef*6)</p><p> </p><p>def draw():</p><p> background(50)</p><p> for i in range(7):</p><p> for j in range(6):</p><p> fill(200)</p><p> rect(i*(width/7), j*(height/6), width/7, height/6)</p><p> if grid[i][j] != []:</p><p> fill(grid[i][j][0], grid[i][j][1], grid[i][j][2])</p><p> ellipse(i*(width/7) + width/14, j*(height/6) + height/12, width/8, height/7)</p><p> </p><p>def recur(i, j, apply, search, depth):</p><p> if depth == 4:</p><p> return True</p><p> ib = i + apply[0]</p><p> jb = j + apply[1]</p><p> if 0 <= ib < 7 and 0 <= jb < 6:</p><p> if grid[ib][jb] == search:</p><p> return recur(ib, jb, apply, search, depth+1)</p><p> return False</p><p></p><p>def verify(): #Fonction qui verifie les alignement et ainsi le vaiqueur</p><p> winner = 0</p><p> for i in range(7):</p><p> for j in range(6):</p><p> search = grid[i][j]</p><p> if search != []:</p><p> for apply in dir:</p><p> test = recur(i, j, apply, search, 1)</p><p> if test == True:</p><p> winner = search</p><p> if winner != 0:</p><p> noLoop()</p><p> #background(0)</p><p> if winner == [200, 50, 50]:</p><p> winner = "Rouge"</p><p> else:</p><p> winner = "Jaune"</p><p> fill(0)</p><p> textSize(50)</p><p> text("{} a gagne".format(winner), 100, height/2)</p><p> </p><p> </p><p>def mousePressed(): #Fonction qui permet de savoir quand est-ce que l'utilisateur a cliqué</p><p> global player, grid</p><p> if player == "red":</p><p> pos = mouseX//(width/7)</p><p> for j in range(len(grid[pos])-1, -1, -1):</p><p> if grid[pos][j] == []:</p><p> grid[pos][j] = [200, 50, 50]</p><p> verify()</p><p> player = "yellow"</p><p> return 0</p><p> else:</p><p> pos = mouseX//(width/7)</p><p> for j in range(len(grid[pos])-1, -1, -1):</p><p> if grid[pos][j] == []:</p><p> grid[pos][j] = [200, 200, 50]</p><p> verify()</p><p> player = "red"</p><p> return 0[/CODE]</p><p style="text-align: center"></p> <p style="text-align: center">Merci pour votre aide !</p></blockquote><p></p>
[QUOTE="MakeProfit, post: 7381126, member: 294762"] [CENTER]Bonsoir a tous, J'ai le code d'un Puissance 4 en Python avec Processing, cela fait un moment que j'essaye de le comprendre mais je ne capte pas tout. Par exemple, pour la fonction def verify(): Je n'arrive pas a bien la comprendre, je sais quelle vérifie le vainqueur, les alignements (Honrizontal, vertical, et diagonales) mais je ne comprend pas comment. Je cherche une personne de calé en Python qui pourrais m'éclairer un peu ce code.[/CENTER] [CODE=python]grid = [[[] for j in range(6)] for i in range(7)] #Grille de 6 par 7 dir = [(-1, -1), (-1, 1), (0, -1), (1, 0)] #On défini un repere coef = 100 player = "Red" def setup(): # 7*6 size(coef*7, coef*6) def draw(): background(50) for i in range(7): for j in range(6): fill(200) rect(i*(width/7), j*(height/6), width/7, height/6) if grid[i][j] != []: fill(grid[i][j][0], grid[i][j][1], grid[i][j][2]) ellipse(i*(width/7) + width/14, j*(height/6) + height/12, width/8, height/7) def recur(i, j, apply, search, depth): if depth == 4: return True ib = i + apply[0] jb = j + apply[1] if 0 <= ib < 7 and 0 <= jb < 6: if grid[ib][jb] == search: return recur(ib, jb, apply, search, depth+1) return False def verify(): #Fonction qui verifie les alignement et ainsi le vaiqueur winner = 0 for i in range(7): for j in range(6): search = grid[i][j] if search != []: for apply in dir: test = recur(i, j, apply, search, 1) if test == True: winner = search if winner != 0: noLoop() #background(0) if winner == [200, 50, 50]: winner = "Rouge" else: winner = "Jaune" fill(0) textSize(50) text("{} a gagne".format(winner), 100, height/2) def mousePressed(): #Fonction qui permet de savoir quand est-ce que l'utilisateur a cliqué global player, grid if player == "red": pos = mouseX//(width/7) for j in range(len(grid[pos])-1, -1, -1): if grid[pos][j] == []: grid[pos][j] = [200, 50, 50] verify() player = "yellow" return 0 else: pos = mouseX//(width/7) for j in range(len(grid[pos])-1, -1, -1): if grid[pos][j] == []: grid[pos][j] = [200, 200, 50] verify() player = "red" return 0[/CODE] [CENTER] Merci pour votre aide ![/CENTER] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Questions, aides et recherches
Quelqu'un pour commenter ce code en Python
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut