Bon et bien après des tests en pas à pas le code à l'air de fonctionner.
donc une fois la cible trouvée par l'AI une boucle indéfinie est lancée pour trouver une direction
tirage au sort de 1 à 4 :
si 1 alors -10 dans le tableau de tir, si 2 +1, si 3 +10 et si 4 -1
on trouve bien là la rotation des aiguilles, mais comme le 1, 2, 3 et 4 sont aléatoires, ce n'est juste un choix de direction complètement aléatoire.
Pourquoi -10 et +10 ? Parce que le tableau de tir va de 1 à 100 "en bande unique" donc si on tire au hasard sur la cellule 37, index 37 du tableau de tir, si la direction est le "nord" il faut aller à la cellule du dessus soit un décalage d'une ligne complète vers la gauche pour arriver en 27. le +10 c'est pour aller vers le Sud, le +1 vers l'Est et le -1 vers l'Ouest.
à chaque choix de direction, un test de faisabilité est fait et là première remarque, je ne gère pas le changement de ligne !
En effet cela reprend une de vos remarque où le tir s'en va de l'autre coté de la grille, si un tir en colonne 10 avec une direction vers l'Est et que "par chance" la cellule de la grille se trouvant une ligne en dessus mais en colonne 1 n'est pas jouée, alors la direction sera considérée comme bonne, du coup deux bateaux pourraient être touché en étant considérés comme un seul !
Une modification sur ce point est à faire.
Après le soucis d'un changement de direction où le tir se fait trop loin, ne m'est apparu que sur le porte avion, je dois avoir un problème au niveau de ce calcul, ou bien c'est encore un mauvais tour de mon idée de prendre en tableau de tir un tableau à une dimension !
C'est tout à revoir, et avec les connaissances acquises depuis que je me suis lancé dans les jeux, autant le code sera plus simple !
@ bientôt
LouReeD