Bonsoir, je n'arrive pas à faire l'égalité dans mon jeu (x/x/x=joueur1ou2 a gagné).
Merci de votre réponse Pièce jointe 211333
Version imprimable
Bonsoir, je n'arrive pas à faire l'égalité dans mon jeu (x/x/x=joueur1ou2 a gagné).
Merci de votre réponse Pièce jointe 211333
salut
le plus simple aurait été d'utiliser un tableau pour conserver les position des pion déjà placé plutôt que 9 variables
ensuite il suffit de parcourir le tableau pour voir si les 3 même pion sont alignéCode:
1
2
3 TCase = (VIDE,JOUEUR1,JOUEUR2) Tab = array[1..3,1..3] of TCase
la matrice ce représente comme cela
on vois très vite qu'en prenant 3 référence on peut couvrir la totalité de ton tableauCode:
1
2
3
4 (1,1),(1,2),(1,3) (2,1),(2,2),(2,3) (3,1),(3,2),(3,3)
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
doncte donne le test de la première colonne et la première ligneCode:([1,1] =ValeurCherche) and ((([1,1] =[1,2]) and ([1,1] =[1,3])) or (([1,1] =[2,1]) and ([1,1] =[3,1])) )
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