Skip to content

Z01coder/Debuger-game

Repository files navigation

Язык: English | Русский

Дебугер

Аркадная игра на Python с использованием библиотеки Pygame

Дебугер
Содержание
  1. О проекте
  2. Начало работы
  3. Использование
  4. Скриншоты разработки
  5. План развития
  6. Вклад в проект
  7. Лицензия
  8. Контакты
  9. Благодарности

О проекте

"Дебугер" — это аркадная игра, созданная на Python с использованием библиотеки Pygame. Она представляет собой переработанную версию игры "Тир", вдохновлённую научным мемом о происхождении термина "баг". В этой игре вы выступаете в роли "дебагера", сражающегося с жуками, которые норовят прилипнуть к печатной плате. Цель — устранить как можно больше жуков за ограниченное время.

Цели и задачи проекта

Цели:

  • Создать увлекательную аркадную игру с простым геймплеем
  • Продемонстрировать возможности библиотеки Pygame для создания игр
  • Реализовать игровую механику с таймером и подсчётом очков
  • Создать визуально привлекательный интерфейс в ретро-стиле

Ключевые задачи:

  • Разработать игровой цикл с обработкой событий мыши
  • Реализовать систему подсчёта попаданий и отображения статистики
  • Создать интро-экран с возможностью перехода к игре
  • Интегрировать звуковые эффекты и фоновую музыку
  • Реализовать систему случайного появления целей на экране
  • Добавить таймер для ограничения времени игры (30 секунд на раунд)
  • Создать систему отображения текущего и предыдущего рекорда
Результаты

Реализованная функциональность:

  • Интро-экран с изображением, переход к игре по клику мыши
  • Игровой процесс с кликаньем по жукам на печатной плате
  • Система подсчёта попаданий в реальном времени
  • Таймер игры (30 секунд на раунд)
  • Отображение текущего и предыдущего рекорда
  • Случайное появление целей в разных местах экрана
  • Звуковые эффекты при попадании
  • Фоновая музыка во время игры
  • Случайная смена цветов фона между раундами

Созданные компоненты:

  • Основной игровой файл main.py с полным игровым циклом
  • Система загрузки и отображения изображений (интро, фон, цели)
  • Обработка событий мыши для определения попаданий
  • Система таймера и управления раундами
  • Интеграция звуковых эффектов и музыки через Pygame Mixer

(В начало)

Используемые технологии

Основные технологии и библиотеки, используемые в проекте:

  • Python
  • Pygame

Дополнительные зависимости:

  • pygame>=2.0.0 - библиотека для создания игр и мультимедийных приложений

(В начало)

Начало работы

Инструкции по установке и запуску игры локально.

Требования

Для работы с проектом необходимо установить:

  • Python 3.x
    # Проверьте версию Python
    python --version

Установка

Ниже приведены инструкции по установке и запуску игры.

  1. Клонируйте репозиторий

    git clone https://github.com/Z01coder/Debuger-game.git
    cd Debuger-game
  2. Создайте виртуальное окружение (рекомендуется)

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # Linux/Mac
    source venv/bin/activate
  3. Установите зависимости

    pip install -r requirements.txt
  4. Запустите игру

    python main.py
  5. Управление игрой:

    • На интро-экране кликните мышью для начала игры
    • В игре кликайте по жукам, появляющимся на экране
    • Каждое попадание засчитывается как очко
    • Раунд длится 30 секунд, после чего игра перезапускается
    • Ваш предыдущий рекорд сохраняется и отображается в правом верхнем углу

(В начало)

Использование

Игра предоставляет простой и увлекательный геймплей:

Игровой процесс:

  1. Интро-экран

    • При запуске игры отображается интро-экран с названием игры
    • Кликните мышью в любом месте экрана, чтобы начать игру
  2. Основной геймплей

    • На экране появляются жуки (цели) в случайных местах
    • Кликайте по жукам, чтобы заработать очки
    • Каждое попадание сопровождается звуковым эффектом
    • Фоновая музыка играет во время игры
  3. Система подсчёта очков

    • Текущее количество попаданий отображается в левом верхнем углу
    • Предыдущий рекорд отображается в правом верхнем углу
    • После завершения раунда (30 секунд) текущий результат становится предыдущим рекордом
  4. Особенности:

    • Жуки появляются в случайных местах экрана после каждого попадания
    • Фон игры меняет цвет случайным образом между раундами
    • Используются различные изображения жуков для разнообразия

(В начало)

Скриншоты разработки

Ниже представлены скриншоты процесса разработки игры:

Скриншот разработки 1 Скриншот разработки 2 Скриншот разработки 3 Скриншот разработки 4 Скриншот разработки 5 Скриншот разработки 6

(В начало)

План развития

Показать пройденные этапы разработки

Выполненные этапы:

  • Этап 1: Базовая структура проекта

    • Создание основного файла main.py
    • Инициализация Pygame и настройка окна игры
    • Настройка размеров экрана (1280x720)
  • Этап 2: Загрузка ресурсов

    • Загрузка фонового изображения карты
    • Загрузка интро-изображения
    • Загрузка изображений целей (жуков)
    • Загрузка иконки приложения
  • Этап 3: Интро-экран

    • Реализация отображения интро-экрана
    • Обработка клика мыши для перехода к игре
    • Обработка закрытия окна на интро-экране
  • Этап 4: Основной игровой цикл

    • Реализация основного цикла игры
    • Обработка событий закрытия окна
    • Обработка кликов мыши
  • Этап 5: Система попаданий

    • Определение попадания по цели при клике
    • Подсчёт количества попаданий
    • Перемещение цели в случайное место после попадания
    • Случайный выбор изображения цели
  • Этап 6: Таймер и раунды

    • Реализация таймера игры (30 секунд)
    • Автоматический перезапуск раунда после истечения времени
    • Сохранение предыдущего рекорда
  • Этап 7: Отображение статистики

    • Отображение текущего количества попаданий
    • Отображение предыдущего рекорда
    • Настройка шрифта и цвета текста
  • Этап 8: Звуковые эффекты

    • Интеграция Pygame Mixer для работы со звуком
    • Загрузка и воспроизведение фоновой музыки
    • Добавление звукового эффекта при попадании
    • Настройка громкости звуков
  • Этап 9: Визуальные эффекты

    • Случайная смена цвета фона между раундами
    • Отображение фонового изображения карты
    • Отображение целей на экране

Планируемые улучшения:

  • Добавление системы уровней сложности
  • Реализация таблицы рекордов
  • Добавление различных типов жуков с разными очками
  • Реализация системы бонусов и специальных эффектов
  • Добавление анимаций для жуков
  • Улучшение визуальных эффектов при попадании
  • Добавление меню настроек (громкость, разрешение экрана)
  • Реализация системы достижений
  • Добавление паузы в игре
  • Создание версии для мобильных устройств

(В начало)

Вклад в проект

Вклады делают сообщество открытого исходного кода таким удивительным местом для обучения, вдохновения и творчества. Любые ваши вклады будут высоко оценены.

Если у вас есть предложения по улучшению, пожалуйста, создайте fork репозитория и отправьте pull request. Вы также можете просто открыть задачу с тегом «enhancement». Не забудьте поставить проекту звездочку! Еще раз спасибо!

  1. Создать fork проекта
  2. Создайте ветку для вашей функции (git checkout -b feature/AmazingFeature)
  3. Зафиксируйте изменения (git commit -m 'Add some AmazingFeature')
  4. Отправьте изменения в ветку (git push origin feature/AmazingFeature)
  5. Создайте Pull Request

(В начало)

Лицензия

Распространяется по лицензии MIT. Дополнительную информацию см. в файле LICENSE.

(В начало)

Контакты

  • GitHub
  • Gmail
  • Telegram

(В начало)

Благодарности

Выражаю искреннюю благодарность университету Zerocoder и всей его команде за создание вдохновляющей и профессиональной образовательной среды. За подготовку "IT-астронавтов" на "космодроме" Зерокодер.

Особая благодарность:

Кириллу Пшиннику, директору университета, за вдохновение на подвиг;

Преподавателям Нине Стефанцовой, Максиму Вершинину и Дарье Бобровской — за глубокие знания, терпение и готовность всегда помочь;

Никите Муркину, куратору курса, за чёткую организацию и наставничество;

Елизавете, менеджеру, за заботу, оперативность и неизменную доброжелательность.

Благодаря вам этот проект стал возможен!

(В начало)

Грейс Хоппер
Грейс Хоппер

Грейс Хоппер

Грейс Мюррей Хоппер (1906-1992) — американский учёный-компьютерщик и контр-адмирал военно-морского флота США. Она была одним из первых программистов компьютера Harvard Mark I и разработала первый компилятор для компьютерного языка программирования.

Хоппер популяризировала идею машинно-независимых языков программирования, что привело к разработке COBOL, одного из первых языков высокого уровня. Она также известна тем, что нашла первого "бага" (bug) в компьютере — настоящего мотылька, застрявшего в реле компьютера Mark II в 1947 году. Этот инцидент стал источником термина "debugging" (отладка) в программировании.

За свою выдающуюся карьеру Грейс Хоппер получила множество наград и почётных званий, включая Национальную медаль технологий и инноваций США. Она остаётся вдохновляющей фигурой в истории информатики и символом женского лидерства в технологиях.

(В начало)

About

Funny arcade game created with a Pygame library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages