puissance 4 code à résoudre

isn

a marqué ce sujet comme résolu.

bonjour je fais actuellement un projet de jeu python mais rencontre quelque difficultés tous d’abord je vous met le code entier c’est pour la fin que je bloque je voudrais faire arrêter le programme quand 4 X ou O sont alignés et continues sur une même -colonne -ligne -diagonal merci d’avance from random import randint import random as rd

v = "vide" NB_LIGNES = 6 NB_COLONNES = 7 """jaimerai que l’affichage soit de sorte a ce que les ligne ne soient pas decale par le changment de lettre et pas cote a cote""" Grille = [[v,v,v,v,v,v,v], [v,v,v,v,v,v,v], [v,v,v,v,v,v,v], [v,v,v,v,v,v,v], [v,v,v,v,v,v,v], [v,v,v,v,v,v,v]]

def solo() : nom_1 = input("Entrez votre nom : ") nom_2 = "machine" texte_bienvenue = "Bonjour " + nom_1 + "." print(texte_bienvenue)

joueurs =[[nom_1],[nom_2]]
print( "le joueur qui commence est  {}.".format(rd.choice(joueurs)) )
print("C'est parti!")

def affichage_2 (): for b in range(NB_LIGNES): print(Grille[b])

"""je n’ai pas pu tester ces 3 partie mais je pense que ca ne marche pas """ def proposition(): colonne = int(input("Dans quelle colonne voulez-vous jouer?".format(NB_LIGNES,NB_COLONNES))) """entrer un chiffre de 0 à 6 format nbrx de colonne""" colonne = -1 while not(0 <= colonne <= 6): colonne = int(input("Un chiffre de 0 à 6 : ")) Grille[ligne][colonne] = '0' ligne = colonneRemplie_2(colonne) ligne = verifJoueur()

def colonneRemplie_2(col): for ligne in range(NB_LIGNES-1,-1,-1): if Grille[ligne][col] == v: return ligne return NB_LIGNES

def verifJoueur(): ligne = NB_LIGNES while ligne == NB_LIGNES: print ("tu ne peux pas jouer ici, choisit une nouvelle colonne colonne") if ligne == colonneRemplie(colonne) : Grille[ligne][colonne] = '0' else colonneRemplie_2(col)

def colonneRemplie(col): """ col est un numéro de colonne (entre 0 et 6) la fonction renvoie NB_LIGNES si la colonne col est remplie et la première ligne vide sinon. """

for ligne in range(NB_LIGNES-1,-1,-1): if Grille[ligne][col] == v: return ligne return NB_LIGNES

def machine() : """cette fonction permet de placer un point aléatoirement sur la grille et en meme temps d’apeller un fonction verifaint si la case n’est pas prise plus haut "colonneRemplie" si les conditions sont remplies vide devient X"""

ligne = NB_LIGNES
while ligne == NB_LIGNES:
    colonne =  randint(0, NB_COLONNES-1)
    ligne = colonneRemplie(colonne)
Grille[ligne][colonne] = 'X'

def alignement() : """si 4 'X' sont sur la meme ligne - sont sur la meme colonne - sont sur la meme diagonale (4 l-1 + 4 c-1) alors arret du jeu afficher "la machine a gagné jai commence avec ça mais je ne sais pas faire pour les diagonales""" for ligne in range (NB_LIGNES 0, 1 , 2, 3) if Grille[NB_LIGNES][colonne] == (n, n+1, n+2, n+3) for col in range (colonne 0, 1 , 2, 3) if Grille[NB_LIGNES][colonne] == (n, n+1, n+2, n+3)

for ligne in range (NB_LIGNES 0, 1 , 2, 3)
for col in range (colonne 0, 1 , 2, 3)
    if Grille[NB_LIGNES] == (n, n+1, n+2, n+3)  [colonne] == (n, n+1, n+2, n+3)

"""si 4 '0' sont sur la meme ligne - sont sur la meme colonne - sont sur la meme diagonale (4 * l-1 + 4 * c-1)
        alors arret du jeu 
afficher "le joueur a gagné"
""" 
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte