Je viens de me renseigner sur Processing, visiblement t'es pas un informaticien donc je vais développer un peu l'algo de recherche :
- Parcours le tableau dans un sens défini, par exemple de gauche à droite et de bas en haut (une partie de P4 commence toujours par le bas)
- Il existe 3 façons de gagner au P4 : ligne horizontale, verticale, ou diagonale. Tu peux limiter le problème en considérant que ces coups n'existent que dans une direction : une ligne horizontale tout en bas à gauche peut être vu comme un coup de la case tout en bas à gauche vers la droite, ou un coup de la case du milieu tout en bas vers la gauche, ça n'a aucune importance, c'est le même coup.
- Par conséquent, ne vérifie les coups que dans une seule direction, admettons vers la droite et vers le haut.
- De même, il n'est pas nécessaire de faire le tour de tout le tableau pour tous les coups : quand tu vérifies les coups horizontaux, les colonnes 5 6 et 7 ne peuvent être gagnantes. Lors des coups verticaux, les lignes 4 5 6 ne peuvent pas gagner non plus. Pour les diagonales, c'est la fusion des deux.
Résumé : regarde ton tableau comme ça
1 2 3 4 5 6 7
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
1 2 3 4 5 6 7
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
1 2 3 4 5 6 7
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
1 2 3 4 5 6 7
6 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
En vert, les cases que tu dois vérifier pour les coups verticaux, en rouge les coups horizontaux et en jaune les coups en diago. Pour chaque case, tu examines la couleur du pion (s'il y en a un), et tu regardes la couleur des pions posés sur les cases adjacentes en fonction du scénario. Si les 4 cases examinées sont de la même couleur, bingo, c'est gagné.
Edit : Il manquait les diagonales vers la gauche (en bleu)
Message édité par Erlum le 02-04-2019 à 09:19:27