aevgarik 2bdab2972e feat(ui): полировка - адаптивный дизайн, рекорды, touch events
- Touch events для мобильных устройств
- Таблица рекордов (localStorage, top-10)
  - Ввод имени при новом рекорде
  - Отображение рейтинга с датами
- CSS-переходы и анимации:
  - fadeIn для overlays
  - slideIn для модальных окон
  - hover-эффекты для кнопок
- Адаптивный дизайн:
  - Масштабирование canvas под экран
  - Media queries для мобильных
  - Оптимизация UI для touch

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

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