Je ne connais pas le language utilisé sur cette calculette (même s´il n´a vraiment pas l´air compliqué, çà ressemble à du basic) donc je peut juste donner le principe en gros, à toi de le coder. Enfin je veux dire si tu sais coder et non pas si tu n´a fais que trouver le programme bien sûr.
Pour empêcher qu´il se mange lui-même par exemple quand tu vas vers le bas tu peut tester le pixel d´au-dessus et empêcher le changement de direction si le pixel est plein, çà donnera un truc du genre:
if key=haut and pixel(x,y-1)!=1:
direction=haut
pixel (x,y-1)!=1 çà veut dire si le pixel au-dessus du pixel actuel n´est pas plein, x et y ce sont les coordonnées du pixel actuel. Si on appuie sur haut ET que le pixel d´au-dessus n´est pas plein alors seulement on change la direction vers le haut.
Sinon si tu veut faire un vrai jeu de serpent qui grandit en bouffant des points il va falloir utiliser un tableau à deux dimensions du genre tableau[x][y], avec dans chaque donnée une info qui dira si la case est vide, si la case contient un pixel qui fait grandir le serpent, si la case contient un bout du serpent et dans quel direction il faut le déplacer, et aussi si la case contient la queue du serpent et également sa direction. Seulement je ne sais pas si ta calculette supporte les tableaux à deux dimensions...