Mon but est de calculer le nombre total de mouvement que le fou peut faire pour n'importe qu'elle board d'échec de taille N.
- Code: Tout sélectionner
8 *|*|*|o|*|*|*|* pos: (6, 2)
7 o|*|o|*|*|*|*|* fBRtoTL: 1
6 *|f|*|*|*|*|*|* fTLtoBR: 5
5 o|*|o|*|*|*|*|* fTRtoBL: 1
4 *|*|*|o|*|*|*|* fBLtoTR: 2
3 *|*|*|*|o|*|*|*
2 *|*|*|*|*|o|*|*
1 *|*|*|*|*|*|o|*
1 2 3 4 5 6 7 8
le f représente le fou et les o les mouvement possible
cependant sur cette board il peut il y avoir des obstacles qui peuvent bloqué les mouvement du fou
- Code: Tout sélectionner
1 2 3 4 5 6 7 8
8 *|*|*|o|*|*|*|* pos: (6, 2)
7 o|*|o|*|*|*|*|* fBRtoTL: 1
6 *|f|*|*|*|x|*|* fTLtoBR: 2
5 o|*|o|*|*|*|*|* fTRtoBL: 1
4 *|*|*|o|*|*|*|* fBLtoTR: 2
3 *|*|*|*|x|*|*|*
2 *|*|*|*|*|*|*|*
1 *|*|*|*|*|*|*|*
ou x représente les obstacles
Pour l'instant je pense que le meilleur moyen pour moi de savoir si mes obstacles sont sur les diagonal de mon fou est de calculer l'equation de la droite (y = ax +b) et de verifier si les coordonnées de mes obstacle respect l'équation.
Pour calculer les 2 equations de droite je prend 2 point sur les diagonal de mon fou et respecte la formule a = (yb-ya)/(xb-xa) et grace à ce résultat trouve b.
Je peux donc savoir quand un obstacle touche est sur les diagonal.
Cependant puis-je calculer le nombre de mouvement qu'il met possible de faire sur cette diagonal quand il y a un obstacle ?
