I've been working on the Snake research and this is what I've come up with, in psuedocode. For some reason an entire picture of how a Snake game works is escaping me.
Currently I have everything in the game as a simple structure :
Struc GObj x y dir atv EndStruc
I think everything in the game can use this. Naturally the "food" doesn't use direction, so in routines that use the food, it can simply not be used.