abassibe / Gomoku

2 stars 0 forks source link

[Rust] La détection de ligne ne peux pas différencier entre deux lignes sur le même axe #31

Closed Ragarnoy closed 3 years ago

Ragarnoy commented 3 years ago

La détection de ligne fonctionne par shift binaires, ces shifts peuvent avoir lieu dans toutes les directions, cependant le shift est appliqué sur TOUT le board. La détection de ligne fait tourner une boucle qui va shift dans une direction puis verifier si le bit dans la direction est set, si il l'est il continue, donc il va toujours prendre la ligne la plus longue et ignorer les autres.

demonoidv commented 3 years ago

Est-ce qu'on ne pourrait pas s'en sortir avec le pattern matching ? De toute facon la fonction nous permettant de savoir s'il y a des alignement et de combien pion ne nous permet pas de connaitre la position de la/les lignes en question (sauf erreur de ma part). Le pattern matching permet cela.