[Add] Base UI
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# 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`.
|
||||
|
||||
## Управление
|
||||
|
||||
| Действие | Управление |
|
||||
| --- | --- |
|
||||
| Открыть клетку | Левая кнопка мыши |
|
||||
| Поставить или снять флажок | Правая кнопка мыши |
|
||||
| Начать заново | Клавиша перезапуска |
|
||||
| Пауза | Кнопка паузы на игровом экране |
|
||||
|
||||
## Условия победы и поражения
|
||||
|
||||
Игрок проигрывает, если открывает клетку с миной.
|
||||
|
||||
Игрок выигрывает, если открыты все клетки, не содержащие мины.
|
||||
|
||||
## Примечания
|
||||
|
||||
Алгоритм расстановки мин упрощенный. Главное условие: первая открытая клетка никогда не содержит мину.
|
||||
Reference in New Issue
Block a user