/space-garbage-destroyer

Основы асинхронного программирования в python на примере создания игры.

Primary LanguagePython

Screenshot

Часть 1. Делаем игру про космос

Орбита Земли завалена мусором: частями ракет, обломками спутников, деталями МКС. NASA бьёт тревогу: ещё чуть-чуть, и человечество окажется запечатано под этим мусорным слоем! Какой будет позор – захотим запустить ракету, а взлететь сквозь эту свалку не сможем.

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

У вас есть идея: создать компьютерную игру про то, как тяжело взлетать сквозь завалы. Вирусно, наглядно и заставляет прочувствовать всё на своей шкуре – потянет на гран-при!

Начнём с простого – покажем, как было «до», скажем, в 1980. Пусть ракета мирно летит по сверкающему звёздами космосу:

  • напишите игровой движок;
  • добавьте анимацию;
  • подключите управление стрелочками.

Часть 2. Сквозь мусор к звёздам

Первая часть игры получилось медитативно-утопической. Настало время разбавить первозданный дзен суровой мусорной реальностью!

Перенесите своих игроков в 2000 год – щедро накидайте на экран обломки спутников, старые запчасти и бутылки из-под колы. Пусть уворачиваются от шквала препятствий и думают о поведении человечества!

А когда проблему осознают – переместите всех в 2020. И даруйте лазерную пушку на нос ракеты. Пусть игроки дружно аннигилируют мусорные завалы, освобождая космическое пространство для новых больших свершений.

  • Напишите генератор мусора;
  • Рассчитайте столкновения;
  • Сделайте игру интересной.

Установка

Для запуска программы потребуется предустановленный Python 3.6+ (на других версиях не проверось).

Скопировать репозиторий в текущий каталог можно командой:

$ git clone https://github.com/igorzakhar/space-garbage-destroyer.git space_garbage

После этого программа будет скопирована в каталог /space_garbage.

Запуск

Перейти в каталог с программой:

$ cd space_garbage

Запуск программы:

$ python3 main.py

Цели проекта

Код написан в образовательных целях.