salut
le plus simple aurait été d'utiliser un tableau pour conserver les position des pion déjà placé plutôt que 9 variables
1 2 3
|
TCase = (VIDE,JOUEUR1,JOUEUR2)
Tab = array[1..3,1..3] of TCase |
ensuite il suffit de parcourir le tableau pour voir si les 3 même pion sont aligné
la matrice ce représente comme cela
1 2 3 4
|
(1,1),(1,2),(1,3)
(2,1),(2,2),(2,3)
(3,1),(3,2),(3,3) |
on vois très vite qu'en prenant 3 référence on peut couvrir la totalité de ton tableau
imaginons
je regarde la valeur en (1,1) si elle n'est pas égale a ta valeur cherché et que la ligne est la colonne ne sont pas rempli de la même valeur c'est donc pas gagnant
donc
([1,1] =ValeurCherche) and ((([1,1] =[1,2]) and ([1,1] =[1,3])) or (([1,1] =[2,1]) and ([1,1] =[3,1])) )
te donne le test de la première colonne et la première ligne
les autres test sont sur le même principe
tel que toi tu la conçu actuellement il faut que tu remplace mes indice de tableau par tes variable
donc (1,1) = c1 , (3,3) = c9, (2,2) = c5 avoue quand même que c'est moins simple et ton test j'avoue ne pas le comprendre
tu test si la case n'est pas vide mais qu'elle en est l’intérêt ?
ce qu'il faut c'est que les 3 pion soit du même joueur
il ne faut pas oublier par contre le test permettant de finir la partie sans gagnant si toutes les cases sont remplit
l'avantage du tableau et de pouvoir le parcourir afin de le redessiner plus facilement
en règle général il est bien vu de dissocier l'affichage des actions
Partager