для затирания хвоста змейки нужно хранить его тело, в виде массива (размер которого - длина змейки) координат. Этот массив - это fifo буфер, т.е. тебе нужно хранить указатели на начало и конец, делая шаг змейки, ты добавляешь новую запись в массив, стираешь квадрат по координатам самой старой записи и удаляешь эту запись, сдвигая оба указателя.