Найти в Дзене
SoftSAR

Игра змейка на Python

Разработка программ и игр это трудоемкий процесс состоящий из нескольких этапов. Для создания игры змейка, необходимо:

  • продумать логику игры;
  • создать окно приложения и игровое поле;
  • объявить вспомогательные переменные (размеры поля, длина змейки, цвет змейки, счет и др);
  • создание объектов сегмента и змеи;
  • создание дополнительных функций.

Первым делом необходимо разработать каркас для нашего приложения главное окно. С помощью переменных задаем параметры ширины и высоты окна, а также размер одного элемента змейки. Параметром title() задаем название окна, resizable() запрещаем изменение размера окна, задаем положение нашего окна поверх всех окон wm_attributes(). Теперь создадим игровое поле. Его мы реализуем с помощью Canvas. Создадим холст нужного нам размера.

-2

Добавим в нашу программу вспомогательные переменные. Создадим функцию сегмента змейки. Визуально сегмент змейки будет представлен обычным прямоугольником, созданным при помощи метода create_rectangle класса Canvas модуля tkinter.

-3

Добавляем в программу обработку событий нажатия клавиш. Создадим переменные, которые учитывают направление движения змейки snake_x_nav и snake_y_nav значения по умолчанию 0 змейка не движется. Функция snake_move() отвечает за движение змейки при нажатии кнопки изменяя параметры snake_x_nav и snake_y_nav. Список snake_list хранит элементы змейки, а переменная snake_size хранит размер змейки. Функция snake_paint_item рисует по направлению движения змейки сегмент змейки, если количество сегментов змейки превышает его размер то удаляем первый элемент змейки, т.е. удаляем один блок с хвоста змейки функцией chack_delete_item.

-4

Добавляем цикл While для обеспечения беспрерывности движения.

Мы получили змейку, которая беспрерывно движется в выбранном направлении. Теперь нам необходимо сделать проверку, что змейка не выходит за пределы игрового поля. Также необходимо написать функцию создания еды (яблок), функцию поедания еды и увеличения змейки. Переменной score подсчитываем счет, переменной snake_speed задаем скорость движения. Функция create_block создает блоки еды в игровом поле, занося в список block_list.

-5

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

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am

Наука
7 млн интересуются