Je développe un jeu de recherche de mots. Table Layout contient des textviews. Les textviews affichent les caractères. Lorsque l'utilisateur trouve un mot dans l'une des 8 directions: TopToBottom, BottomToTop, LeftToRight, RightToLeft, TopToBottomRight, BottomToTopLeft, ToptoBottomLeft, BottomToTopRight, je veux afficher la ligne de canevas sur le mot dans la direction correspondante.Dessiner uniquement des lignes horizontales, verticales et diagonales dans Android
Je peux dessiner des lignes horizontales, verticales et diagonales d'un point de départ à un point final. Le point de départ est l'endroit où l'utilisateur commence à balayer. Le point final est l'endroit où il arrête le balayage.
Check the first three screenshots here
Mais mon problème est que je peux aussi dessiner d'autres lignes entre mauvaises coordonnées qui ne sont pas horizontales, les lignes verticales ou diagonales. Voir les trois captures d'écran suivantes.
Je souhaite dessiner uniquement des lignes horizontales, verticales et diagonales. Quand le point de fin est dans de mauvaises coordonnées, j'ai besoin de déplacer le point de fin pour coïncider avec n'importe quelle direction de proximité (qui est horizontale, verticale ou diagonale).
Vous cherchez à dessiner des lignes sur des mots non valides, ne devriez-vous pas les déconseiller? –
Oui. Nous devrions déconseiller les mauvaises coordonnées. Ensuite, nous devons déplacer les coordonnées vers l'une des directions proches qui peuvent être horizontales, verticales ou diagonales. Ainsi, même si l'utilisateur balaie les mauvaises coordonnées, nous pouvons tracer la ligne dans les bonnes coordonnées. –