4.1 KiB
4.1 KiB
🌐 Веб-инструменты для "Гонки на бумаге"
В проекте доступны два независимых веб-приложения:
🗺️ Редактор карт
Назначение: Создание и редактирование карт для игры
Расположение: map-editor/
Функции:
- Рисование карт мышью
- 6 типов ячеек (дорога, камень, снег, лёд, чекпоинт, старт)
- Экспорт/импорт JSON
- Изменение размеров карты
- Валидация данных
Запуск:
cd map-editor
./open-editor.sh
# или просто откройте index.html в браузере
Документация: map-editor/README.md
🎬 Визуализатор решений
Назначение: Анимация и визуализация решений
Расположение: solution-player/
Функции:
- Загрузка карт и решений
- Пошаговое воспроизведение
- Регулировка скорости (1x-10x)
- Навигация вперед/назад
- Отображение векторов скорости
- Детальная информация о каждом шаге
Запуск:
cd solution-player
./open-player.sh
# или просто откройте index.html в браузере
Документация: solution-player/README.md
🚀 Быстрый старт
Создание и тестирование карты
-
Создайте карту:
cd map-editor ./open-editor.sh- Нарисуйте карту
- Обязательно добавьте точку старта (тип 5)
- Экспортируйте в JSON
-
Решите карту:
cd .. dotnet run --project racing-astar.csproj maps/your-map.json -
Визуализируйте решение:
cd solution-player ./open-player.sh- Загрузите карту
- Загрузите решение
- Нажмите Play
📋 Форматы файлов
Карта (map)
{
"map": [
[0, 0, 5],
[0, 1, 0],
[4, 0, 0]
]
}
Типы ячеек:
0- Дорога1- Камень (препятствие)2- Снег (замедление)3- Лёд (скольжение)4- Чекпоинт5- Старт
Решение (solution)
{
"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
🔗 Связь между приложениями
- Редактор карт → создает JSON файлы карт
- C# Solver → принимает карты, генерирует решения
- Визуализатор → отображает карты и решения
Приложения полностью независимы и могут использоваться отдельно.
Создано для проекта Racing