Стоит разделить логику игры и отрисовку
Например, всю информацию по пикселям хранить в данном случае в двумерном массиве, в котором будут элементы самой змейки и всего остального.
Всю логику прописываешь в слое Логики, отрисовку каждый кадр после выполнения слоя логики