Пишем игру Питон на Python ;). Часть 1

В рамках компании по попытке обучения одного товарища программированию начал писать классическую игру Питон. С правилами: питон двигается по полю, если он что-то ест, то растёт. Если натыкается на стену или на самого себя — игрок проигрывает.

В этой части обучающей статьи, мы научимся вырисовывать питона и управлять им с клавиатуры. Результатом будет что-то вроде:

Для отрисовки графики и получения событий нажатия клавиш будем использовать библиотеку pygame

Итак начнем. Сначала зададим настроечные переменные для игры, как то размер поля, цвета и т.п.:

Затем создадим окно с указанными размерами , закрасим его чёрным цветом, и нарисуем сетку:

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

Если мы сейчас в этот цикл вставим событие отрисовки самого питона, то он будет двигаться с дикой скоростью. Ограничим её одной клеткой в секунду, используя измерение времени. В начале цикла замерим время начала игры, и внутри цикла, если видим, что прошла секунда — отрисовываем питона, для этого чуть изменим код:

Функции отрисовки питона (Draw_python) пока нет. Создадим её.. В начале функции посчитаем радиус кружка тела. Потом если вектор направления задан, то голову передвинем на вектор, а жопу питона удалим. Таким образом создадим видимость движения питона:

Скачать результат

Тенарные операторы в python

Терпеть не могу их на самом деле, и избегаю использовать, т.к. считаю что лучше написать 2-3 лишних строчки кода. зато они будут читаться намного лучше. Однако же иногда попадаются, и иногда использую. Вот пример как использовать его в python

Синтаксис:

переменная=значение_1 if (условие выполняется) else значение_2

Пример:

Читаем так: radius будет равно a, если a больше b, иначе radius будет b. Или тоже самое в классическом виде: