aevgarik 7c987be2c1 feat(game): реализация ядра игровой логики ColorLine98
- Добавлен класс Game для управления состоянием игры
- Реализованы: генерация шаров, превью следующих 3 шаров
- Подсчёт очков по таблице из GDD (5→10, 6→12, 7→18, 8→28, 9+→формула)
- Комбо-множитель x1.5 за каждую дополнительную линию
- Условие окончания игры (поле заполнено)
- Исправлены type imports для verbatimModuleSyntax

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

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-22 21:48:10 +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%