aevgarik 4e89c60e34 test: добавлены unit-тесты для игровой логики
- Vitest + happy-dom для тестирования
- 17 тестов для Board, PathFinder, LineChecker:
  - Board: создание поля, генерация цветов, поиск пустых клеток
  - PathFinder: поиск пути на пустом поле, недоступность занятых клеток, отсутствие пути через стену, ортогональность
  - LineChecker: горизонтали, вертикали, диагонали, линии <5, линии 7, пересекающиеся линии

Refs: [GAM-10](/GAM/issues/GAM-10)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 21:56:32 +03:00

ColorLine98

Классическая логическая игра-головоломка ColorLine98.

Описание

Цель игры — набрать максимальное количество очков, выстраивая линии из одноцветных шаров на игровом поле 9×9.

Технологический стек

  • Vue 3 (Composition API)
  • Vite
  • TypeScript
  • Canvas 2D

Структура проекта

src/
├── assets/          # Статические ресурсы (изображения, звуки)
├── components/      # Vue компоненты
├── game/            # Игровая логика
│   ├── Board.ts
│   ├── Ball.ts
│   ├── PathFinder.ts
│   └── LineChecker.ts
├── App.vue
├── main.ts
└── style.css

Установка

pnpm install

Запуск

pnpm dev

Сборка

pnpm build

Линтинг

pnpm lint

Правила игры

  • Поле: 9×9 клеток
  • 7 цветов шаров
  • За ход появляются 3 новых шара
  • Линия из 5+ шаров одного цвета исчезает
  • Перемещение шаров только по ортогональным направлениям

Лицензия

MIT

Description
Классическая игра ColorLine98 - Vue 3 + Vite + TypeScript
Readme 152 KiB
Languages
Vue 46.5%
TypeScript 39.7%
CSS 12.8%
HTML 1%