feat: деплой на GitHub Pages + обновлён README
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled

- 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:
aevgarik
2026-03-22 22:02:34 +03:00
parent 4e89c60e34
commit 770d06b37b
4 changed files with 167 additions and 22 deletions

View File

@@ -5,11 +5,13 @@
@date 2026-03-22
-->
Классическая логическая игра-головоломка ColorLine98.
Классическая логическая игра-головоломка ColorLine98 — набирайте очки, выстраивая линии из одноцветных шаров на игровом поле 9×9.
## Описание
![ColorLine98 Screenshot](./docs/screenshot.png)
Цель игры — набрать максимальное количество очков, выстраивая линии из одноцветных шаров на игровом поле 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 |
## Лицензия