(a chaque fois que je parle de path dans ce post c'est un path comme celui hors combat meme si on est en combat)
il ne faut pas prendre en compte les obstacles (donc ca sera toujours une ligne droite , pas d'obstacles + chemin le plus court = ligne droite), le chemin entre le monstre et toi ne sert pas a se deplacer mais juste a savoir le chemin le plus court :
cases_Ligne_deVue=pathfinding(lemonstre,bot) ' voila on a la ligne la plus courte , regardons si c'est a vue :
dim touchable as boolean=true
for each case in cases_Ligne_deVue
if case.los=false then touchable= false ' c'est pas a vue
next
los=Line Of See (ligne de vue) , donc los=false c'est un osbtacle de vue
avec un dessin ca parle mieux :
rouge le monstre , jaune les los=false , bleu foncé et bleu clair , des positions prises "au hazard" du bot , donc j'ai supprimé tout les obstacles :mrgreen: comme on en a pas besoin (on veut pas se deplacer la)
j'ai dessiné en vert le path entre le monstre en une des 3 positions du perso , on voit que y'a pas de los=false (jaune) sur ce path donc c'est touchable (pareil pour l'autre bleu clair) , par contre pour le bleu foncé (j'ai pas dessiné le path mais une ligne droite du rouge au bleu foncé est facile a imaginer) la il y aurais une case jaune dans le path donc intouchable