Pythonicway - Змійка на Python

Введення в Python

Нове на сайті

Змійка на Python

Сьогодні ми напишемо грузмійка на Python. Це одна з найпоширенішихаркад у світі. В основі її реалізації буде два класи:

  • Клас сегмента (одного блоку змійки).
  • Клас змії (насправді збори сегментів).

У процесі написання змійки у нас будуть наступні етапи:

Створення графічного вікна програми.

Ми будемо працювати з бібліотекою tkinter, в якому вікно задається таким чином:

Зверніть увагу, що решта коду повинен перебувати до рядка root.mainloop()

Оголошення допоміжних світових змінних.

Тут все просто, для полегшення подальшої роботи створимо такі змінні:

Установка вікна області для малювання.

Область для малювання в tkinter реалізована за допомогою класу Canvas, ним і скористаємося.

Якщо ви все робили правильно, запустивши отриманий код отримаєте наступну картину

змійка

Створення класів сегмента та змії:

Клас сегменту змійки.

Сегмент змійки буде простим прямокутником, створеним методом create_rectangle класу Canvas модуля tkinter.

Клас змійки.

Змійка у нас буде набором сегментів. У неї будуть методи руху, зміни напряму та додавання сегмента.

Якщо ви подужали ці два класи і більше того, зрозуміли що, як і чому, то вітаю - найважча частина позаду. Вже зараз можна створювати змійку. Вставте такі рядки, але обов'язково після рядків c.grid()

Ось так виглядає наша гра зараз.

pythonicway

Створення допоміжних функций.

Для початку напишемо функцію створення яблук (або що там наша змія буде їсти).Не забудьте імпортувати модуль random, щоб усе працювало

Тепер основна функція main, яка керуватиме ігровим процесом.

Останній крок – правильно обробити натискання клавіш. Прив'яжемо метод класу Snake change_direction() до Canvas:

змійки

Ось така у нас вийшлазмійка на Python. Спробуйте трохи вдосконалити гру, наприклад, додати рахунок, прискорення гри, відредагувати функцію create_block, щоб нові яблука не з'являлися на самій змійці, або реалізувати систему рівнів.

Повний код гризмійка на Python на GitHub