Спасибо за идею, решил рассмотреть такую задачку на своеобразном мастер классе))
Есть ещё один вроде не упомянутый в дискуссии баг, при употреблении «еды» длинна змейки возрастает только через число ходов равное её текущей длине, к тому моменту, как новое значение «головы» попадает в последнюю ячейку хвоста. Чтобы избежать этого, можно в кейсе, где увеличивается значение длинны при условии совпадения координат «головы» и «еды» делать инкремент всех ненулевых ячеек. Тогда длинна возрастёт на итерации следующей за поеданием.
Хотя непосредственно в процессе игры этот лаг всё равно не очень заметен.
Есть ещё один вроде не упомянутый в дискуссии баг, при употреблении «еды» длинна змейки возрастает только через число ходов равное её текущей длине, к тому моменту, как новое значение «головы» попадает в последнюю ячейку хвоста. Чтобы избежать этого, можно в кейсе, где увеличивается значение длинны при условии совпадения координат «головы» и «еды» делать инкремент всех ненулевых ячеек. Тогда длинна возрастёт на итерации следующей за поеданием.
Хотя непосредственно в процессе игры этот лаг всё равно не очень заметен.