Pygame. Snake — простая «змейка» на питоне

Использование библиотеки PyGame для пайтона. Скопировал чужой код игры «змейка».

Первое — необходимо установить библиотеку питона. Это делается просто. В командной строке ОС набрать :

Pip install pygame

Если не сработает — запустить консоль от имени администратора.

Код приведён здесь Snake Game in Python using Pygame — copyassignment.com

Для практики запоминания синтаксиса  — я набирал код ручками по оригиналу, кое где внося изменения. Изменения вносил незначительные — в основном заменял длинный выводимый текст на более короткий.

Однако после первой попытки запустить код — я лишь на мгновение увидел черное окошко программы и на этом её выполнение успешно завершилось. Без каких либо ошибок.

Чтоб выявить в чём проблема — решил создать новый файл программы, скопировать туда код с сайта «как есть» и попробовать выполнить. Результат — код рабочий. Я увидел игровое окно и смог поиграть. Ага — значит где-то я накосячил переписывая код.

Значит необходимо сравнить текст программы, набранный мной, с текстом оригинала. Построчно.

Сперва я решил воспользоваться онлайн ресурсом для сравнения текстов. Использовал первый что попался в выдаче поисковика — Compare text online

Я остался очень недоволен удобством этого ресурса. Никак не понял — нужно ли перезапускать проверку, если я внёс коррективы в текст прямо на этом сайте, или нет.

Вспомнил что в моём любимом Total Commander  есть плагин/встроенная утилита для сравнения файлов по содержимому. И — да! Она оказалась очень практичной.

Ошибок было около 5-6. И главная из них заключалась в несоблюдении правила табуляций в языке Пайтон. Функция вызова циклической отрисовки окна находилась не в своей позиции. И из-за не соблюдения табуляций, она оказалась внутри функции, которая срабатывает только раз, если не была вызвана функция закрытия окна. А она тоже как то так оказалась в таком месте — что она вызывалась не тогда, когда задумано.

Внёс поправки. Запустил код и получил рабочую программку.

Следующий этап — разбор кода.