Bonsoir, je crée une intelligence artificielle qui joue toute seule au snake, et j'ai actuellement des soucis avec une optimisation que j'ai du mal à intégrer:
Pour que le snake survive le plus longtemps, il faudrait qu'il ne s'enferme pas dans sa propre queue, et pour cela calculer avant de jouer un coup si la situation est irréversible puis ensuite calculer si l'espace de la prison est suffisament grand pour s'en sortir en vie.
Des images parleront probablement beaucoup plus que des mots:
Ici, le serpent fonce sur le fruit .
Après avoir mangé le fruit, 2 possibilités s'offrent à lui:
-tourner à droite, il est en sécurité
-tourner à gauche, il va forcément mourir par la suite, il entre en prison pris au piège par sa propre queue
Actuellement, le snake se débrouille pour comprendre qu'il doit tourner à droite, mais plus la prison est grande en terme de carreaux, plus la puissance de calcul nécessaire est grande .
Si vous m'avez suivi, alors j'aurais besoin de votre aide pour réaliser une fonction qui analyserait la situation à chaque déplacement, et détecterait la présence de la tête du serpent à l'entrée d'une prison potentielle, et (le serpent étant de toute manière dans une prison) choisirait de faire bouger le snake vers la prison la plus grosse.
On dispose d'un tableau qui représente la matrice du terrain, 0=sol, 1=queue du snake , avez vous idée d'un algo qui puisse s'en sortir?
J'ai pas mal cherché et je bloque sévère
merci !