Une méthode pour ne pas stocker le serpent dans une liste serait une méthode applicable à un snake en mode texte/console:
Tu crées une matrice (40*25 pour mon Amstrad en mode 1, pour une console DOS, il vaut mieux 80*25 ou plus carré, 80*50), et tu codes tout dedans: Murs, pommes (et là il peut y en avoir plusieurs) Et serpent:
et ça donne:
#
>v #
v #
> o #
#####
>v<^ =Serpent (chaque direction est codée par une valeur différente)
o =pomme (encore une valeur)
# =mur (encore une autre valeur)
tu mémorises les coordonnées du bout de la queue, et avant d'effacer, tu calcules les nouvelles coordonnées avec la direction du segment de queue courant.