Files
colorline98/README.md
aevgarik 770d06b37b
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
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>
2026-03-22 22:02:34 +03:00

98 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ColorLine98
<!--
@author aevgarik@gmail.com
@date 2026-03-22
-->
Классическая логическая игра-головоломка ColorLine98 — набирайте очки, выстраивая линии из одноцветных шаров на игровом поле 9×9.
![ColorLine98 Screenshot](./docs/screenshot.png)
## Играть
Откройте игру в браузере: [https://aevgarik.github.io/colorline98](https://aevgarik.github.io/colorline98)
## Технологический стек
- Vue 3 (Composition API)
- Vite
- TypeScript
- Canvas 2D
- Vitest
## Структура проекта
```
src/
├── components/
│ └── GameBoard.vue # Canvas-компонент игрового поля
├── game/
│ ├── Board.ts # Модель доски и базовые типы
│ ├── PathFinder.ts # BFS-поиск пути
│ ├── LineChecker.ts # Проверка линий
│ ├── Game.ts # Главный класс игры
│ └── Game.test.ts # Unit-тесты
├── App.vue
└── main.ts
```
## Разработка
### Установка
```bash
pnpm install
```
### Запуск dev-сервера
```bash
pnpm dev
```
### Сборка для продакшена
```bash
pnpm build
```
### Линтинг
```bash
pnpm lint
```
### Тесты
```bash
pnpm test
```
## Правила игры
- **Поле**: 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 |
## Лицензия
MIT