Teraz aktualizujesz pozycje snake'a w momencie przechwycenia eventu.
Powinieneś robić to w "każdym" obiegu pętli, a podczas wciśnięcia odpowiedniego klawisza jedynie ustawić odpowiednią flagę opisującą kierunek jego ruchu (na podstawie tej flagi aktualizujesz pozycje węża w określony sposób).
Polecam dość znaną metodę do zaprogramowania ruchu snake'a. Za każdym razem usuwasz ostatni jego człon (ogon), a dodajesz nowy przed aktualną głową. Nowy człon ustawiasz z odpowiedniej strony w odniesieniu do aktualnego kierunku poruszania się węża (flagi którą zmieniasz po wciśnięciu odpowiedniego klawisza).