# Minesweeper Unity Test Task Тестовое задание: клон классической игры «Сапёр», реализованный в Unity. ## Описание Проект представляет собой простую реализацию Minesweeper в одной Unity-сцене. Внешний вид не является приоритетом; основной фокус сделан на игровой логике и выполнении функциональных требований. ## Технологии - Unity - C# - VContainer - DOTS ECS ## Функциональность - Главное меню с кнопкой `Start`. - Игровое поле с настраиваемым размером и количеством мин. - Первый клик по клетке всегда безопасный. - Управление мышью: - левая кнопка мыши открывает клетку; - правая кнопка мыши ставит или снимает флажок. - Автоматическое раскрытие пустых областей: - при открытии клетки без мин рядом раскрываются соседние пустые клетки; - также раскрываются их соседи. - Таймер игры: - запускается после открытия первой клетки; - останавливается при завершении игры. - Пауза во время игры. - Окно паузы с кнопками: - `Restart`; - `Continue`; - `Main Menu`. - Завершение игры при победе или поражении. - Экран окончания игры с текстом результата и кнопками: - `Restart`; - `Main Menu`. - Возможность начать игру заново в любой момент по нажатию клавиши. - Перезапуск по клавише также работает после победы или поражения. ## Настройка игры Размер поля и количество мин задаются через значения в конфигурации или инспекторе Unity. Интерфейс для изменения этих параметров не обязателен. ## Требования к разработке - Перед началом работы обязательно прочитать этот `README.md`. - При реализации соблюдать требования из этого файла. - Использовать `VContainer` для организации зависимостей. - Использовать `DOTS ECS` для игровой логики, где это применимо. - Вся игра должна быть реализована в одной сцене. ## Требования к проекту - Проект должен открываться напрямую через Unity. - Проект должен быть готов к загрузке на GitHub или передаче архивом. ## Как запустить 1. Открыть проект в Unity. 2. Дождаться импорта ассетов. 3. Открыть основную сцену проекта. 4. Нажать `Play` в Unity Editor. 5. В главном меню нажать кнопку `Start`. ## Управление | Действие | Управление | | --- | --- | | Открыть клетку | Левая кнопка мыши | | Поставить или снять флажок | Правая кнопка мыши | | Начать заново | Клавиша перезапуска | | Пауза | Кнопка паузы на игровом экране | ## Условия победы и поражения Игрок проигрывает, если открывает клетку с миной. Игрок выигрывает, если открыты все клетки, не содержащие мины. ## Примечания Алгоритм расстановки мин упрощенный. Главное условие: первая открытая клетка никогда не содержит мину.