split editor

This commit is contained in:
2025-10-20 21:07:28 +05:00
parent 023ccd03d8
commit 88643415aa
34 changed files with 3796 additions and 1184 deletions

94
solution-player/README.md Normal file
View File

@@ -0,0 +1,94 @@
# 🎬 Визуализатор решений - Гонки на бумаге
Веб-приложение для визуализации и анимации решений. Работает без сервера, просто откройте в браузере.
## 🚀 Быстрый старт
```bash
# Запуск визуализатора
./open-player.sh
# или
firefox index.html
```
**Три простых шага:**
1. Загрузите карту (📂 Загрузить карту) - файл с полем
2. Загрузите решение (🎬 Загрузить решение) - файл с траекторией
3. Нажмите ▶ Play и наблюдайте за движением
## 🎮 Управление
| Кнопка | Действие |
|--------|----------|
| ▶ Play | Автоматическое воспроизведение |
| ⏸ Pause | Пауза |
| ⏮ Reset | Сброс к началу |
| ⏪ Back | Шаг назад |
| ⏩ Forward | Шаг вперед |
| Слайдер | Скорость 1x - 10x |
## 📊 Визуализация
- 🔵 **Синяя линия и точки** - пройденная траектория
- 🔴 **Красный круг** - текущая позиция
- ➡️ **Красная стрелка** - вектор скорости (направление и величина)
- **Панель информации** - шаг, позиция (x, y), скорость (vx, vy), ускорение (ax, ay)
## 📄 Форматы файлов
### Формат карты
```json
{
"map": [
[5, 0, 0, 1, 0],
[0, 1, 0, 1, 0],
[0, 0, 2, 2, 4]
]
}
```
**Типы ячеек:** 0-Дорога, 1-Камень, 2-Снег, 3-Лёд, 4-Чекпоинт, 5-Старт (обязательно!)
### Формат решения
```json
{
"solution": [
[1, 1],
[1, 0],
[0, 1]
]
}
```
**Структура:** массив векторов ускорения `[[ax, ay], ...]` где `ax`, `ay` - целые числа (обычно от -1 до 1)
### Физика движения
На каждом шаге:
```
velocity += acceleration
position += velocity
```
**Пример:**
```
Шаг 0: pos=(0,0), vel=(0,0)
Шаг 1: acc=(1,1) → vel=(1,1) → pos=(1,1)
Шаг 2: acc=(1,0) → vel=(2,1) → pos=(3,2)
```
## 🎯 Быстрый тест
1. Откройте `./open-player.sh`
2. Загрузите карту `demo-with-start.json`
3. Загрузите решение `demo-with-start-solution.json`
4. Нажмите ▶ Play и экспериментируйте со скоростью
## 🔗 Связанные проекты
- [Редактор карт](../map-editor/) - для создания карт
- [Основной проект](../README.md) - C# решатель на основе A*
---
**Технологии:** HTML5 Canvas, Vanilla JavaScript (ES6+), CSS3