Skip to content

Аналог Doodle Jump на pygame. Проект для Я. Лицея

License

Notifications You must be signed in to change notification settings

lubaskinc0de/funny_jump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Аналог игры Doodle Jump на PyGame.

  • Игрок управляет персонажем, прыгая по платформам, которые падают вниз.
  • Продвигаясь наверх, игрок повышает свой счет.
  • На пути игрока встречаются разные типы платформ, на которых нужно удержаться чтобы не упасть вниз.
  • Несколько уровней, отличающихся по сложности и механикам!

Главная цель - выжить как можно дольше и забраться повыше!

Разработано как проект для Я.Лицея

Видео-демонстрация

Нажмите для просмотра

Звук записать не удалось, но в игре он есть.

Управление

Стрелочками: ←→

Установка проекта

1. Установить готовый бинарник

Вы можете найти готовые исполняемые файлы на странице релизов в репозитории. Просто скачайте бинарник под вашу ОС и запустите

Если по какой-то причине вам не удается запустить бинарный файл, вы можете собрать приложение из исходного кода.

2. Сборка из исходного кода

(все действия ниже выполняются в виртуальном окружении)

Требования:

  • cpython версии от 3.11 (было протестировано на python 3.11.11 и 3.12.4)

Чтобы собрать приложение из исходного кода, вам потребуется

  1. установить проект и его зависимости
pip install -e ".[build]"
pip install -e ".[lint]"
  1. (опционально) проверить проект - может занять время.
mypy
ruff check
  1. собрать бинарник
pyinstaller build.spec
  1. (или) запустить игру
funny_jump run game
  1. (или) запустить игру через файл
python src/funny_jump/bootstrap/entrypoint/py_game.py

Известные проблемы:

  1. Игра не сможет запуститься если по какой-то причине на ПК недоступно звуковое устройство.

Некоторые замечания по поводу работы приложения:

  1. Все данные приложения будут лежать по пути ваш_пользователь/funny_jump

  2. Запуск приложения из бинарника может быть долгим, это связано с особенностями работы pyinstaller.

  3. Чтобы выйти из игры, закройте приложение (нажмите крестик у окна)

  4. Счёт сохраняется только при выходе из уровня по клавише ESC, при закрытии окна он не сохранится, это не баг, а фича.

Структура проекта

Domain (ядро)

  • funny_jump/domain
  • Содержит основные сущности приложения, доменную логику.

Engine (движок)

  • funny_jump/engine
  • Фундаментальные концепции игр вынесенные в отдельный компонент. Тут находятся утилитарные функции обнаружения столкновений, менеджер анимаций и загрузчик ресурсов.

Game (игра)

  • funny_jump/game
  • Тут содержится вся логика работы с pygame - спрайты, анимации, движение и отрисовка обьектов на экране.

Bootstrap (сборка)

  • funny_jump/bootstrap
  • Отвечает за сборку и запуск приложения
  • Содержит точки входа в представления (entrypoint/)

About

Аналог Doodle Jump на pygame. Проект для Я. Лицея

Topics

Resources

License

Stars

Watchers

Forks

Languages