Skip to content

on3ginnn/evolution-game

Repository files navigation

evolution_x550_720p

Evolution Game

В условиях зараженного космоса нужно съесть все вражеские "бактерии".

Описание Игры

Игрок - белый круг с зелеными бортами.
Поинты (очки) - маленькие разноцветные точки, кружки, которые надо съедать.
Мобы (враги) - большой белый круг с красными бортами, его надо избегать.

Правила

  • Игрок должен поедать микробов (поинтов), тем самым зарабатывая очки.
  • Игрок должен продержаться до победы, чтобы его не съел враг (моб), набрав максимальное количество очков.
  • Игрок может поедать врагов, если больше их. Если игрок по размеру меньше врага - моб съест игрока.
  • Игрок и мобы могут передвигаться только в пределах поля, ограниченного красными линиями.
  • Мобы изначально поедают поинты, но если видят игрока на определенном расстоянии и являются больше игрока по размеру, начинают двигаться в сторону игрока. Если моб меньше игрока, он будет двигаться в противоположном от игрока направлении, пока не выйдет из зоны видимости игрока.
  • Скорость мобов изначально незначительно меньше, чем скорость игрока (так как компьютер принимает действия быстрее человека).

Реализованные технологии

  • pygame: python библиотека графических интсрументов.
  • Возможность управления двумя сторонами одновременно: Игрок может зажать UP и LEFT, и он будет двигаться по диагональному направлению между этими сторонами.
  • Музыка и звуковые эффекты
  • Камера привязана над игроком
  • Масштабирование отображенных объектов: При достижении игроком определенных размеров, размер игрока не превышает размер экрана.
  • Расчет алгоритма условия съедения: Когда определенная часть тела объекта поглощена другим большим телом объекта, большой объект "съедает" маленький. Очки маленького объекта складываются с очками большого объекта и приписываются большому объекту, а маленький объект оказывается "съеденным" и исчезает с игрового поля.
  • Респавн поинтов и мобов после съедения с определенной частотой: На карте всегда будут генерироваться поинты (очки для "съедания"), если их количество не удовлетворяет условие. То же самое с мобами (врагами).
  • Расчет алгоритма движения моба к поинтам
  • Расчет траектории движения мобов к игроку и от него
  • Спрайты обернуты в маску: Игрок является кругом благодаря маске, фактически он является кругом, а не квадратом, стороны которого равны диаметру круга.
  • Возможность начать игру сначала: После проигрыша или выигрыша можно сразу начать новую игру, не перезагружая приложение.

Управление

  • Клавиши направления: Используйте клавиши UP, DOWN, LEFT и RIGHT для перемещения игрока.
  • Комбинированное движение: Можно зажать две клавиши одновременно (например, UP и LEFT) для движения по диагонали.

Цели

  • Набрать как можно больше очков: Поедайте поинты и врагов, чтобы увеличить свой размер и количество очков.
  • Избегайте врагов: Не дайте врагам, которые больше вас, съесть вас.

Установка и Запуск

  1. Клонируйте репозиторий:
    git clone https://github.com/on3ginnn/evolution-game.git
  2. Перейдите в директорию проекта:
    cd evolution-game
  3. Установите зависимости:
    pip install -r requirements.txt
  4. Запустите игру:
    python main.py

Дата релиза

Релиз: ~15.01.2023

Приятной игры!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages