Java-игра-головоломка, где игрок перемещается по шестиугольной сетке, оставляя цветные следы и собирая ключи для достижения выхода.
- Перемещение: По соседним шестиугольникам
- Следы: Каждый ход оставляет цветной след (нельзя повторно посещать)
- Цели:
- Собрать все ключи перед достижением выхода
- Клетка выхода может посещаться многократно (не оставляет следа)
- Особые клетки:
- 🔴 Красная - Позиция игрока
- 🔵 Синие - Доступные для хода клетки
- 🟢 Зеленая - Выход
- 🟠 Оранжевые - Обычные клетки
- ⚪ Серые - Стены (непроходимы)
- 🔷 Голубые - Телепорты (меняются местами при наступлении)
- Язык: Java SE 22
- Интерфейс: Swing с кастомными шестиугольными кнопками
- Архитектура: MVC с разделением логики и представления
Класс | Назначение |
---|---|
LevelModel |
Управление состоянием игры и логикой поля |
LevelView |
Визуальное отображение и интерфейс |
Player |
Отслеживание позиции и собранных ключей |
AbstractCell |
Базовый класс для всех типов клеток |
ExitCell |
Клетка выхода с условием победы |
TeleportCell |
Подвижная клетка, меняющая позиции |
Игровое поле с игроком (красный), ключами ("l") и доступными ходами (синие)
Полное тестовое покрытие для:
- Механики перемещения игрока
- Системы сбора ключей
- Управления состоянием клеток
- Взаимодействия с особыми клетками (телепорты и выход)