Bonjour, j'ai un projet où je dois crée le jeu isola sur Python, actuellement j'ai 2 probleme, dans la fonction "test_deplacement", je ne sais pas comment faire pour vérifier si le déplacement se fait autour du pion, et aussi dans la fonction "deplace_joueur" j'ai tester plusieurs fois mais je n'arrive pas a faire que l'ancien emplacement du pion devienne une case "O"

Voici mon code :
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
#Procédure d'affichage d'une liste de listes contenant des -1,0,1,2.
# A noter que le joueur blanc de la vidéo est repéré par A et le noir par B
def affiche(matrice):
    ch=''
    for lig in range(len(matrice)-1):
        for col in range(len(matrice[0])-1):
            if matrice[lig][col]==-1 and (lig==0 or col==0 and col+lig<8):
                ch=ch+str(col+lig)
            elif matrice[lig][col]==-1 and (col==0 and col+lig>=8):
                ch=ch+''
            elif matrice[lig][col]==-1:
                ch=ch+'X'   
            elif matrice[lig][col]==0:
                ch=ch+'A'
            elif matrice[lig][col]==1:
                ch=ch+'B'
            else:
                ch=ch+'O'
        ch=ch+'\n'
    print(ch)
 
#Fonction qui détruit une case, c'est à dire qui place un -1 dans la matrice au bon endroit et qui retourne la matrice modifiée.
def detruit(ligne,colonne,matrice):
    while matrice[ligne][colonne]==-1:
        print("case déja détruite, rechoisissais s'il vous plait")
        colonne=int(input('Dans quelle colonne voulez-vous détruire? '))
        ligne=int(input('Dans quelle ligne voulez-vous détruire? '))
 
    while matrice[ligne][colonne]==0:
        print("case occupé par un joueur, rechoisissais s'il vous plait")
        colonne=int(input('Dans quelle colonne voulez-vous détruire? '))
        ligne=int(input('Dans quelle ligne voulez-vous détruire? '))
        print('\n')
        detruit(ligne,colonne,jeu)
 
    while matrice[ligne][colonne]==1:
        print("case occupé par un joueur, rechoisissais s'il vous plait")
        colonne=int(input('Dans quelle colonne voulez-vous détruire? '))
        ligne=int(input('Dans quelle ligne voulez-vous détruire? '))
        print('\n')
        detruit(ligne,colonne,jeu)
 
    if matrice[ligne][colonne]==2:
        matrice[ligne][colonne]=-1
    return matrice
 
#Fonction qui retourne le n-uplets (ligne, colonne) correspondant à la position du joueur
def coordonnees(joueur,matrice):   
    return (lig,col)
# Fonction qui teste si le déplacement du joueur est possible dans la case dont les coordonnées ligne, colonne sont données
# elle retourne True si le déplacement est possible (autour du pion et dans une case libre) et False sinon
def test_deplacement(ligne,colonne,joueur,matrice):
 
    if matrice[ligne][colonne]==-1:
        print("False")
    elif joueur in matrice[ligne]>=3:
        print("False")
    else:
        print("True")
    pass
 
# Fonction qui retourne la matrice indiquant que le joueur (0 ou 1) se trouve dans la case de coordonnées : ligne, colonne
def deplace_joueur(ligne,colonne,joueur,matrice):
    matrice[ligne][colonne]=0
    return matrice
 
# Fonction qui teste si un joueur(0 ou 1) est isolé ou pas : elle retourne True s'il est isolé et False sinon
def test_isola1(joueur, matrice):
 
    joueur=1
    pass
 
# Fonction qui permet de changer le tour du joueur
def jouer(ligne,colonne,joueur,matrice):
    colonne=int(input("A, dans quelle colonne voulez-vous allé ? "))
    ligne=int(input("A, dans quelle ligne voulez-vous allé ? "))
    test_deplacement(ligne,colonne,joueur,matrice)
    jeu=deplace_joueur(ligne,colonne,joueur,matrice)
    print('\n')
    affiche(jeu)
    print('\n')
    detruit(ligne,colonne,matrice)
    print('\n')
    if joueur==0:
        test_isola1(joueur,matrice)
    else:
        test_isola2(joueur,matrice)
 
#####################
#Programme principal#
#####################   
#Initialisation de la variable jeu
joueur=0
col=0
lig=0
 
jeu=[[-1,-1,-1,-1,-1,-1,-1,-1,-1],
     [-1,2,2,2,0,2,2,2,-1],
     [-1,2,2,2,2,2,2,2,-1],
     [-1,2,2,2,2,2,2,2,-1],
     [-1,2,2,2,2,2,2,2,-1],
     [-1,2,2,2,2,2,2,2,-1],
     [-1,2,2,2,2,2,2,2,-1],
     [-1,2,2,2,1,2,2,2,-1],
     [-1,-1,-1,-1,-1,-1,-1,-1,-1]]
affiche(jeu)
 
 
jouer(lig,col,joueur,jeu)
 
 
import doctest
doctest.testmod(verbose=False)