Содержание
"Дебугер" — это аркадная игра, созданная на Python с использованием библиотеки Pygame. Она представляет собой переработанную версию игры "Тир", вдохновлённую научным мемом о происхождении термина "баг". В этой игре вы выступаете в роли "дебагера", сражающегося с жуками, которые норовят прилипнуть к печатной плате. Цель — устранить как можно больше жуков за ограниченное время.
Цели и задачи проекта
Цели:
- Создать увлекательную аркадную игру с простым геймплеем
- Продемонстрировать возможности библиотеки Pygame для создания игр
- Реализовать игровую механику с таймером и подсчётом очков
- Создать визуально привлекательный интерфейс в ретро-стиле
Ключевые задачи:
- Разработать игровой цикл с обработкой событий мыши
- Реализовать систему подсчёта попаданий и отображения статистики
- Создать интро-экран с возможностью перехода к игре
- Интегрировать звуковые эффекты и фоновую музыку
- Реализовать систему случайного появления целей на экране
- Добавить таймер для ограничения времени игры (30 секунд на раунд)
- Создать систему отображения текущего и предыдущего рекорда
Результаты
Реализованная функциональность:
- Интро-экран с изображением, переход к игре по клику мыши
- Игровой процесс с кликаньем по жукам на печатной плате
- Система подсчёта попаданий в реальном времени
- Таймер игры (30 секунд на раунд)
- Отображение текущего и предыдущего рекорда
- Случайное появление целей в разных местах экрана
- Звуковые эффекты при попадании
- Фоновая музыка во время игры
- Случайная смена цветов фона между раундами
Созданные компоненты:
- Основной игровой файл
main.pyс полным игровым циклом - Система загрузки и отображения изображений (интро, фон, цели)
- Обработка событий мыши для определения попаданий
- Система таймера и управления раундами
- Интеграция звуковых эффектов и музыки через Pygame Mixer
(В начало)
Основные технологии и библиотеки, используемые в проекте:
Дополнительные зависимости:
pygame>=2.0.0- библиотека для создания игр и мультимедийных приложений
(В начало)
Начало работы
Инструкции по установке и запуску игры локально.
Для работы с проектом необходимо установить:
- Python 3.x
# Проверьте версию Python python --version
Ниже приведены инструкции по установке и запуску игры.
-
Клонируйте репозиторий
git clone https://github.com/Z01coder/Debuger-game.git cd Debuger-game -
Создайте виртуальное окружение (рекомендуется)
python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate
-
Установите зависимости
pip install -r requirements.txt
-
Запустите игру
python main.py
-
Управление игрой:
- На интро-экране кликните мышью для начала игры
- В игре кликайте по жукам, появляющимся на экране
- Каждое попадание засчитывается как очко
- Раунд длится 30 секунд, после чего игра перезапускается
- Ваш предыдущий рекорд сохраняется и отображается в правом верхнем углу
(В начало)
Использование
Игра предоставляет простой и увлекательный геймплей:
-
Интро-экран
- При запуске игры отображается интро-экран с названием игры
- Кликните мышью в любом месте экрана, чтобы начать игру
-
Основной геймплей
- На экране появляются жуки (цели) в случайных местах
- Кликайте по жукам, чтобы заработать очки
- Каждое попадание сопровождается звуковым эффектом
- Фоновая музыка играет во время игры
-
Система подсчёта очков
- Текущее количество попаданий отображается в левом верхнем углу
- Предыдущий рекорд отображается в правом верхнем углу
- После завершения раунда (30 секунд) текущий результат становится предыдущим рекордом
-
Особенности:
- Жуки появляются в случайных местах экрана после каждого попадания
- Фон игры меняет цвет случайным образом между раундами
- Используются различные изображения жуков для разнообразия
(В начало)
(В начало)
Показать пройденные этапы разработки
-
Этап 1: Базовая структура проекта
- Создание основного файла
main.py - Инициализация Pygame и настройка окна игры
- Настройка размеров экрана (1280x720)
- Создание основного файла
-
Этап 2: Загрузка ресурсов
- Загрузка фонового изображения карты
- Загрузка интро-изображения
- Загрузка изображений целей (жуков)
- Загрузка иконки приложения
-
Этап 3: Интро-экран
- Реализация отображения интро-экрана
- Обработка клика мыши для перехода к игре
- Обработка закрытия окна на интро-экране
-
Этап 4: Основной игровой цикл
- Реализация основного цикла игры
- Обработка событий закрытия окна
- Обработка кликов мыши
-
Этап 5: Система попаданий
- Определение попадания по цели при клике
- Подсчёт количества попаданий
- Перемещение цели в случайное место после попадания
- Случайный выбор изображения цели
-
Этап 6: Таймер и раунды
- Реализация таймера игры (30 секунд)
- Автоматический перезапуск раунда после истечения времени
- Сохранение предыдущего рекорда
-
Этап 7: Отображение статистики
- Отображение текущего количества попаданий
- Отображение предыдущего рекорда
- Настройка шрифта и цвета текста
-
Этап 8: Звуковые эффекты
- Интеграция Pygame Mixer для работы со звуком
- Загрузка и воспроизведение фоновой музыки
- Добавление звукового эффекта при попадании
- Настройка громкости звуков
-
Этап 9: Визуальные эффекты
- Случайная смена цвета фона между раундами
- Отображение фонового изображения карты
- Отображение целей на экране
- Добавление системы уровней сложности
- Реализация таблицы рекордов
- Добавление различных типов жуков с разными очками
- Реализация системы бонусов и специальных эффектов
- Добавление анимаций для жуков
- Улучшение визуальных эффектов при попадании
- Добавление меню настроек (громкость, разрешение экрана)
- Реализация системы достижений
- Добавление паузы в игре
- Создание версии для мобильных устройств
(В начало)
Вклады делают сообщество открытого исходного кода таким удивительным местом для обучения, вдохновения и творчества. Любые ваши вклады будут высоко оценены.
Если у вас есть предложения по улучшению, пожалуйста, создайте fork репозитория и отправьте pull request. Вы также можете просто открыть задачу с тегом «enhancement». Не забудьте поставить проекту звездочку! Еще раз спасибо!
- Создать fork проекта
- Создайте ветку для вашей функции (
git checkout -b feature/AmazingFeature) - Зафиксируйте изменения (
git commit -m 'Add some AmazingFeature') - Отправьте изменения в ветку (
git push origin feature/AmazingFeature) - Создайте Pull Request
(В начало)
Распространяется по лицензии MIT. Дополнительную информацию см. в файле LICENSE.
(В начало)
(В начало)
Выражаю искреннюю благодарность университету Zerocoder и всей его команде за создание вдохновляющей и профессиональной образовательной среды. За подготовку "IT-астронавтов" на "космодроме" Зерокодер.
Особая благодарность:
Кириллу Пшиннику, директору университета, за вдохновение на подвиг;
Преподавателям Нине Стефанцовой, Максиму Вершинину и Дарье Бобровской — за глубокие знания, терпение и готовность всегда помочь;
Никите Муркину, куратору курса, за чёткую организацию и наставничество;
Елизавете, менеджеру, за заботу, оперативность и неизменную доброжелательность.
Благодаря вам этот проект стал возможен!
(В начало)
Грейс Хоппер
Грейс Мюррей Хоппер (1906-1992) — американский учёный-компьютерщик и контр-адмирал военно-морского флота США. Она была одним из первых программистов компьютера Harvard Mark I и разработала первый компилятор для компьютерного языка программирования.
Хоппер популяризировала идею машинно-независимых языков программирования, что привело к разработке COBOL, одного из первых языков высокого уровня. Она также известна тем, что нашла первого "бага" (bug) в компьютере — настоящего мотылька, застрявшего в реле компьютера Mark II в 1947 году. Этот инцидент стал источником термина "debugging" (отладка) в программировании.
За свою выдающуюся карьеру Грейс Хоппер получила множество наград и почётных званий, включая Национальную медаль технологий и инноваций США. Она остаётся вдохновляющей фигурой в истории информатики и символом женского лидерства в технологиях.
(В начало)







