Hallo Ivi,
ein möglicher Lösungsansatz wäre eine Klasse für den Spielplatz und eine für die Felder zu definieren. Nennen wir sie zB. "Playground" bzw "Tile".
Die Tile-Objekte haben eine Status Eigenschaft. Ist ein Feld Teil der Wand oder der schlange dann hat Status den Wert besetzt (zB. 1) anderfalls den Status Frei (zB. 0).
Playground hat unter anderem ein zweidimensionales Array des Objekttyps "Tile" und eine Methode "int GetStatus(intX,intY)" mit der man die Eigenschaft Status, der im Array gespeicherte Tile-Objekten, abfragen kann.
Da man von jedem Spielframe so oder so die nächsten Koordinaten vom Schlangenkopf berechnet werden, kann man mit denselben Koordinaten den Status dieses Faldes abfragen.
Kommt "frei" zurück dann wird es als besetzt und das Feld am Ende der Schlange als Frei markiert. Kommt dagegen "besetzt" zurück dann heißt es leider "GAME OVER".
Hoffentlich konnte ich das ganze vereinfacht genug erklären. Würde ich mich auf jeden Fall freuen eueren Snake-Clone zu spielen wenn Ihr das Spiel fertig programmiert habt.
Viel Spaß dabei.
Dimikar