Tableau dynamique ou solution analogue (jeu snake)

Bonjour à tous !

Je cherche à faire un tableau dynamique ou bien une solution analogue. J'ai vu des topics parlant de malloc mais je n'ai pas très bien compris...

Je vous explique ma problématique : je désire faire un snake (le jeu)
Le jeu est affiché sur une matrice led et j'ai donc une matrice de pixels associés pour allumer les pixels en fonction.
Je bloque pour le moment sur le déplacement du serpent. Mon idée première était de créer deux tableaux qui contiennent les coordonnées de chaque pixel du serpent en x et en y. Seulement, le serpent doit grandir donc il faudrait que je puisse ajouter des cases à ces tableaux au fil du temps.
Une autre idée serait peut-être d'avoir recours aux pointeurs (chaque pointeur pointant le pixel d'après) mais j'avoue que les pointeurs me sont obscurs en arduino.

Pour vous préciser encore mon problème, en fait j'arrive sans soucis à bouger la tête en fonction de la direction. Mais ma problématique est d'éteindre la queue (le dernier pixel) lorsque le serpent avance. Il faudrait que j'ai en quelque sorte une trace du chemin emprunté par le serpent pour éteindre le bon pixel (d'où l'idée de recourir à un tableau dynamique ou des pointeurs).

Je vous remercie si vous trouvez une solution !
Bonne journée !

Tu l'as trouvé où ta matrice LED ?
Je ferai une matrice (x,y,direction) pour chacune des cases du serpent, tu peux la faire assez grande en formatant x, y et integer direction : 2.
direction = 0,1,2,3 selon haut droite bas gauche.
Chaque case de serpent est {x,y,direction}
Si tu manques de mémoire pour les variables, prend une arduino méga..

La documentation de malloc() est claire, pourtant.

Celle de realloc() l'est tout autant.

Est-ce que Arduino supporte les vecteurs ? Ca pourrait être une solution :
https://www.cplusplus.com/reference/vector/vector/

En tout cas, ça fonctionne sur ESP32...

EDIT : une bibliothèque qui simule les vecteurs :

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.