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

166
WEB-TOOLS.md Normal file
View File

@@ -0,0 +1,166 @@
# 🌐 Веб-инструменты для "Гонки на бумаге"
В проекте доступны два независимых веб-приложения:
## 🗺️ Редактор карт
**Назначение:** Создание и редактирование карт для игры
**Расположение:** `map-editor/`
**Функции:**
- Рисование карт мышью
- 6 типов ячеек (дорога, камень, снег, лёд, чекпоинт, старт)
- Экспорт/импорт JSON
- Изменение размеров карты
- Валидация данных
**Запуск:**
```bash
cd map-editor
./open-editor.sh
# или просто откройте index.html в браузере
```
**Документация:** [map-editor/README.md](map-editor/README.md)
---
## 🎬 Визуализатор решений
**Назначение:** Анимация и визуализация решений
**Расположение:** `solution-player/`
**Функции:**
- Загрузка карт и решений
- Пошаговое воспроизведение
- Регулировка скорости (1x-10x)
- Навигация вперед/назад
- Отображение векторов скорости
- Детальная информация о каждом шаге
**Запуск:**
```bash
cd solution-player
./open-player.sh
# или просто откройте index.html в браузере
```
**Документация:** [solution-player/README.md](solution-player/README.md)
---
## 🚀 Быстрый старт
### Создание и тестирование карты
1. **Создайте карту:**
```bash
cd map-editor
./open-editor.sh
```
- Нарисуйте карту
- Обязательно добавьте точку старта (тип 5)
- Экспортируйте в JSON
2. **Решите карту:**
```bash
cd ..
dotnet run --project racing-astar.csproj maps/your-map.json
```
3. **Визуализируйте решение:**
```bash
cd solution-player
./open-player.sh
```
- Загрузите карту
- Загрузите решение
- Нажмите Play
---
## 📋 Форматы файлов
### Карта (map)
```json
{
"map": [
[0, 0, 5],
[0, 1, 0],
[4, 0, 0]
]
}
```
**Типы ячеек:**
- `0` - Дорога
- `1` - Камень (препятствие)
- `2` - Снег (замедление)
- `3` - Лёд (скольжение)
- `4` - Чекпоинт
- `5` - Старт
### Решение (solution)
```json
{
"solution": [
[1, 0],
[0, 1],
[-1, 0]
]
}
```
**Формат:** массив векторов ускорения `[[ax, ay], ...]`
---
## 🛠️ Технологии
Оба приложения:
- ✅ Работают без сервера
- ✅ Pure HTML/CSS/JavaScript
- ✅ HTML5 Canvas
- ✅ Современный UI/UX
- ✅ Не требуют установки
---
## 📁 Структура проекта
```
racing/
├── map-editor/ # Редактор карт
│ ├── index.html
│ ├── editor.js
│ ├── README.md
│ └── *.json # Примеры карт
├── solution-player/ # Визуализатор решений
│ ├── index.html
│ ├── player.js
│ ├── README.md
│ └── *.json # Примеры карт и решений
└── maps/ # Основная коллекция карт
└── *.json
```
---
## 🔗 Связь между приложениями
1. **Редактор карт** → создает JSON файлы карт
2. **C# Solver** → принимает карты, генерирует решения
3. **Визуализатор** → отображает карты и решения
Приложения полностью независимы и могут использоваться отдельно.
---
Создано для проекта [Racing](README.md)