Hey!
Déjà concernant le remplissage de la matrice:
- Code:
For(A,1,3
Fill(-1,lA
List>matr(lA,lA,lA,[A]
End
Si on décortique:
- Code:
Fill(-1,lA
List>matr(lA,lA,lA,[A]
Tu remplis lA de -1
Puis tu accole trois fois la liste lA, dans la matrice [A]
Donc dans [A] tu auras:
[[-1,...],[-1...],[-1,..]]
Avec un nombre de ligne qui dépend de la dimension de lA (3 je suppose).
Du coup, le faire 3 fois sers strictement à rien.
De plus, tu peux directement remplir la matrice, donc comme suit:
- Code:
{3,3->dim([A] //Modifie les dimensions au besoin
Fill(-1,[A]
Tu auras donc bien ta matrice
- Code:
-1 -1 -1
-1 -1 -1
-1 -1 -1
Concernant les tests de victoire, une petite remarque avant tout:
If sum(lA)=3 or sum(lA)=0
Sauf que... Imagine qu'on ait la configuration, sur une ligne:
J1 J2 vide
ce qui donne la liste:
0 1 -1
soit une somme de 0 (pourtant il n'y a pas eut de victoire...).
Par contre:
lA((B+1)/3)+J->lA((B+1)/3
Pourquoi agis tu sur la liste et non pas sur la matrice?
N'oublie pas que quand tu fais List>Matr(lA,[A]), tu copies les infos de lA dans une colonne de [A], la liste et la matrice ne sont en aucun cas liées! Modifier la liste ne modifiera pas la matrice, et vice versa.
Par contre:
J'utilse pour cela trois listes qui sont stockées dans une matrice
Comme je viens de te le signaler, les listes ne sont pas stockées, mais copiées, et en plus, dans ton code je ne vois qu'une seule liste (lA).