feat: деплой на GitHub Pages + обновлён README
- GitHub Actions workflow для автоматического деплоя - Base path /colorline98/ для GitHub Pages - Обновлён README с: - Ссылкой на игру - Инструкциями по разработке - Описанием правил и системы очков Refs: [GAM-10](/GAM/issues/GAM-10) Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
68
README.md
68
README.md
@@ -5,11 +5,13 @@
|
||||
@date 2026-03-22
|
||||
-->
|
||||
|
||||
Классическая логическая игра-головоломка ColorLine98.
|
||||
Классическая логическая игра-головоломка ColorLine98 — набирайте очки, выстраивая линии из одноцветных шаров на игровом поле 9×9.
|
||||
|
||||
## Описание
|
||||

|
||||
|
||||
Цель игры — набрать максимальное количество очков, выстраивая линии из одноцветных шаров на игровом поле 9×9.
|
||||
## Играть
|
||||
|
||||
Откройте игру в браузере: [https://aevgarik.github.io/colorline98](https://aevgarik.github.io/colorline98)
|
||||
|
||||
## Технологический стек
|
||||
|
||||
@@ -17,54 +19,78 @@
|
||||
- Vite
|
||||
- TypeScript
|
||||
- Canvas 2D
|
||||
- Vitest
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
src/
|
||||
├── assets/ # Статические ресурсы (изображения, звуки)
|
||||
├── components/ # Vue компоненты
|
||||
├── game/ # Игровая логика
|
||||
│ ├── Board.ts
|
||||
│ ├── Ball.ts
|
||||
│ ├── PathFinder.ts
|
||||
│ └── LineChecker.ts
|
||||
├── components/
|
||||
│ └── GameBoard.vue # Canvas-компонент игрового поля
|
||||
├── game/
|
||||
│ ├── Board.ts # Модель доски и базовые типы
|
||||
│ ├── PathFinder.ts # BFS-поиск пути
|
||||
│ ├── LineChecker.ts # Проверка линий
|
||||
│ ├── Game.ts # Главный класс игры
|
||||
│ └── Game.test.ts # Unit-тесты
|
||||
├── App.vue
|
||||
├── main.ts
|
||||
└── style.css
|
||||
└── main.ts
|
||||
```
|
||||
|
||||
## Установка
|
||||
## Разработка
|
||||
|
||||
### Установка
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
## Запуск
|
||||
### Запуск dev-сервера
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Сборка
|
||||
### Сборка для продакшена
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## Линтинг
|
||||
### Линтинг
|
||||
|
||||
```bash
|
||||
pnpm lint
|
||||
```
|
||||
|
||||
### Тесты
|
||||
|
||||
```bash
|
||||
pnpm test
|
||||
```
|
||||
|
||||
## Правила игры
|
||||
|
||||
- Поле: 9×9 клеток
|
||||
- 7 цветов шаров
|
||||
- За ход появляются 3 новых шара
|
||||
- Линия из 5+ шаров одного цвета исчезает
|
||||
- Перемещение шаров только по ортогональным направлениям
|
||||
- **Поле**: 9×9 клеток (81 ячейка)
|
||||
- **Шары**: 7 цветов
|
||||
- **Начало**: 5 случайных шаров на поле
|
||||
- **Ход**: Выберите шар и укажите целевую клетку
|
||||
- **Перемещение**: Только по ортогональным направлениям (вверх, вниз, влево, вправо)
|
||||
- **После хода**: Появляются 3 новых шара (показываются в превью)
|
||||
- **Линии**: 5+ шаров одного цвета (горизонталь, вертикаль, диагональ)
|
||||
- **Очки**: За удаление линий (5→10, 6→12, 7→18, 8→28, 9+→формула)
|
||||
- **Комбо**: x1.5 множитель за каждую дополнительную линию в ходе
|
||||
- **Конец игры**: Когда поле заполнено
|
||||
|
||||
## Система очков
|
||||
|
||||
| Длина линии | Очки |
|
||||
| ----------- | ----------------- |
|
||||
| 5 шаров | 10 |
|
||||
| 6 шаров | 12 |
|
||||
| 7 шаров | 18 |
|
||||
| 8 шаров | 28 |
|
||||
| 9+ шаров | (n - 8) × 14 + 42 |
|
||||
|
||||
## Лицензия
|
||||
|
||||
|
||||
Reference in New Issue
Block a user