Aide Morpion mode console Python

Fermé
Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021 - Modifié le 3 mars 2021 à 15:45
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 - 3 mars 2021 à 15:38
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

Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021 1
3 mars 2021 à 12:57
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
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 1 549
3 mars 2021 à 14:28
je ne vois pas tous les print() que tu as ajouté pour comprendre ce que faisait ton code.
0
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 1 549 > yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024
3 mars 2021 à 14:32
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
Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021 1 > yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024
3 mars 2021 à 14:39
Bonjour je l'ai écrit je veux qu'elles me disent si le joueur à gagner en testant toutes les directions
0
Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021 1 > yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024
Modifié le 3 mars 2021 à 14:43
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
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 1 549 > Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021
3 mars 2021 à 15:38
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
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 Ambassadeur 1 549
3 mars 2021 à 09:47
bonjour,
merci d'afficher ton code en texte, pas en image, et d'appliquer ceci: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

ton code fonctionne bien?
0
Akira_8824 Messages postés 5 Date d'inscription mercredi 3 mars 2021 Statut Membre Dernière intervention 3 mars 2021 1
3 mars 2021 à 09:52
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
yg_be Messages postés 23303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 31 octobre 2024 1 549
3 mars 2021 à 10:22
regarde bien les lignes 21 à 24 de ton code. que fais-tu pour passer à la ligne?
0