https://github.com/21trew/atomic_knight
Игра "Атомный конь". Надо пройти конем каждую клетку шахматной доски.
https://github.com/21trew/atomic_knight
angular
Last synced: 2 months ago
JSON representation
Игра "Атомный конь". Надо пройти конем каждую клетку шахматной доски.
- Host: GitHub
- URL: https://github.com/21trew/atomic_knight
- Owner: 21Trew
- Created: 2024-10-16T15:35:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-17T17:18:48.000Z (over 1 year ago)
- Last Synced: 2025-03-06T02:47:06.989Z (over 1 year ago)
- Topics: angular
- Language: TypeScript
- Homepage:
- Size: 143 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Атомный конь
Игра доступна по адресу: [https://atomic-knight.vercel.app/](https://atomic-knight.vercel.app/)
-

## Задача
Разработать игру “Атомный конь”, где пользователь управляет шахматной фигурой "конь" и делает ходы по доске размером 10x10 клеток. Цель игры — заполнить всю доску числами, следуя правилам хода коня. Пользователь поочередно делает ходы, и каждая клетка, на которую ступает конь, заполняется числом, обозначающим порядковый номер хода. Если пользователь не может сделать ход, и при этом вся доска не заполнена, игра считается проигранной.
## При реализации необходимо учитывать следующие требования:
1. Игровая доска:
- Размер доски: 10x10 клеток.
- Каждая клетка должна отображать:
- Пустое поле (до того, как конь сделал ход).
- Номер хода, если конь был на этой клетке.
2. Логика игры:
- Ходы выполняются по правилам шахматной фигуры "конь" (буквой "Г": на две клетки в одном направлении и одну в перпендикулярном, или наоборот).
- Пользователь должен иметь возможность выбирать клетку для следующего хода (кнопки или клики мышкой).
- Пользователь делает первый ход, выбирая начальную клетку для коня.
- После каждого хода возможные варианты следующих ходов должны быть отображены (например, подсвечены).
- Если больше нет доступных ходов и доска не заполнена — игра проиграна.
- Если вся доска заполнена — игра выиграна.
3. Интерфейс:
- Игровой интерфейс должен быть понятным и минималистичным
- Добавить кнопку для сброса и перезапуска игры.
## Технические требования
- Использовать TypeScript
- Следовать Angular Style Guide
- Использовать Angular компоненты для разбиения приложения на логические части.
- Реализовать сервис для управления состоянием игры:
- Описать инструкцию по запуску (деплою) решения
- Решение должно быть размещено в публичном репозитории на Github
---
### Бонусные условия:
- Интерфейс корректно отображаться на экранах разных размеров:
- ПК
- Планшет
- Смартфон
- Использованы CSS препроцессоры (SCSS/SASS)
- Применены принципы SOLID
- Приложение покрыто unit-тестами (хотя бы для одного компонента/сервиса)