Aide Morpion mode console Python

Akira_8824 -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous j'aurai besoin de votre aide pour finir mon programme Morpion en mode console !
En ce moment je suis bloqué par 3 problème:
1. Comment afficher mon jeu sous forme de tableau
2.Assigner au case les symboles des joueurs
3. Et les cases remplies

J'ai déjà essayer de mon coté voilà mon code
Voilà mon code pour le 1 et 2 problème:

EDIT : Question déplacée dans le bon forum ...... PYTHON !

3 réponses

  1. Akira_8824
     
    Merci de votre aide j'ai réussi à régler les deux premiers problèmes mais j'en ai découvert un nouveau les trois fonctions que j'utilise pour vérifier si le joueur à gagner en diagonal, vertical ou horizontale ne marche pas. Voici mes trois fonctions:

    def testHorizontal(tab):
        global finPartie,gagnant
        o=0
        x=0
        for j in range(len(tab)):
            for i in range(len(tab[0])):
                if tab[j][i]=='X':
                    x+=1
                elif tab[j][i]=='O':
                    o+=1
            if x==3:
                finPartie=True
                gagnant='joueur 1'
                print("Joueur 1 a gagné")
                break
            elif o==3:
                finPartie=True
                gagnant='joueur 2'
                print("Joueur 2 a gagné")
                break
            x=0
            o=0               
            
    def testVertical(tab):
        global finPartie,gagnant
        o2=0
        x2=0
        for j in range(len(tab)):
            for i in range(len(tab[0])):
                if tab[i][j]=='X':
                    x2+=1
                elif tab[i][j]=='O':
                    o2+=1
            if x2==3:
                finPartie=True
                gagnant='joueur 1'
                print("Joueur 1 a gagné")
                break
            elif o2==3:
                finPartie=True
                gagnant='joueur 2'
                print("Joueur 2 a gagné")
                break
            x2=0
            o2=0
            
    def testDiagonales(tab):
        global finPartie,gagnant
        o3=0
        x3=0
        for j in range(len(tab)):
            for i in range(len(tab[0])):
                if tab[i][i]=='X' or tab[i][2-i]=='X':
                    x3+=1
                elif tab[i][i]=='O' or tab[i][2-i]=='O':
                    o3+=1
            if x3==3:
                finPartie=True
                gagnant='joueur 1'
                print("Joueur 1 a gagné")
                break
            elif o3==3:
                finPartie=True
                gagnant='joueur 2'
                print("Joueur 2 a gagné")
                break
            x3=0
            o3=0        
    
    1
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je ne vois pas tous les print() que tu as ajouté pour comprendre ce que faisait ton code.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        tu écris "les trois fonctions ne marche pas".
        tu ne montres pas comment tu les appelles, tu n'expliques pas ce que tu souhaitent qu'elles fassent, ni ce qu'elles font.
        0
      2. Akira_8824 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour je l'ai écrit je veux qu'elles me disent si le joueur à gagner en testant toutes les directions
        0
      3. Akira_8824 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Le but est de faire un morpion, et ces fonctions sont censés vérifier si l'un des joueurs à aligner trois symboles dans toutes les directions et à ces fonctions je donne l'argument de mon tableau pour qu'il vérifie
        0
      4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Akira_8824
         
        as-tu ajouté des print() pour comprendre ce que faisait ton code dans ces fonctions?
        tes explications sont très floues.
        tu ne montres pas comment tu les appelles.
        tu n'expliques pas ce que tu souhaites qu'elles fassent, quel résultat en attend-tu?
        0
  2. Akira_8824
     
    Bonjour désolé pour la photo, mon code marche mais n'affiche pas les lignes du tableau normalement mais il l'affiche sur une même ligne et quand je rentre un chiffre pour jouer mon programme me renvoie juste le chiffre au lieu de mettre le bon signe dans la case
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      regarde bien les lignes 21 à 24 de ton code. que fais-tu pour passer à la ligne?
      0