Je viens de penser a quel que chose qui est peut-être une solution sympa et qui résout même le cas du quinconce.
On établit une grille ou chaque case contient ne contient que un seul boutons (ou centre de bouton, pour être au plus petit possible), comment établir cette grille n'est pas traité ici.
Le pseudo code pour aller a droite :
boutonSuivant = null
j = bouton.posY
pour i = bouton.posX, tant que vraie == vraie, i++ :
si i == maxI :
i = min //0
si j == maxJ :
j = minJ
sinon :
j++
si case[i][j].ContientBouton :
return case[i][j].getBouton
Si il n'y a pas de bouton dans la ligne on passe a la ligne d'en dessous, si on a pas rencontré de bouton et qu'on est a la dernière ligne on recommence au début.
Après on peut choisir de monté dans les lignes, plus tôt que de descendre, de partir a gauche ou a droite dans quand l'utilisateur monte ou descend.
Je pense qu'il faut définir de manière globale l'angle qui doit-être atteint avant de recommencé a zéro par exemple on par toujours vers le bas (quand c'est la direction droite et gauche qui on été choisie) ou a droite (dans les 2 autres cas).
# Vous été cool, vous me donnez plein d'idée
Posté par Pierre marijon (site web personnel) . En réponse au journal Les artistes, ce fléau ou l'invasion des profanateurs de GUI. Évalué à 1.
Je viens de penser a quel que chose qui est peut-être une solution sympa et qui résout même le cas du quinconce.
On établit une grille ou chaque case contient ne contient que un seul boutons (ou centre de bouton, pour être au plus petit possible), comment établir cette grille n'est pas traité ici.
Le pseudo code pour aller a droite :
Si il n'y a pas de bouton dans la ligne on passe a la ligne d'en dessous, si on a pas rencontré de bouton et qu'on est a la dernière ligne on recommence au début.
Après on peut choisir de monté dans les lignes, plus tôt que de descendre, de partir a gauche ou a droite dans quand l'utilisateur monte ou descend.
Je pense qu'il faut définir de manière globale l'angle qui doit-être atteint avant de recommencé a zéro par exemple on par toujours vers le bas (quand c'est la direction droite et gauche qui on été choisie) ou a droite (dans les 2 autres cas).