Files
paper-racing-gpi/WEB-TOOLS.md
2025-10-20 21:07:28 +05:00

4.1 KiB
Raw Permalink Blame History

🌐 Веб-инструменты для "Гонки на бумаге"

В проекте доступны два независимых веб-приложения:

🗺️ Редактор карт

Назначение: Создание и редактирование карт для игры

Расположение: 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


🚀 Быстрый старт

Создание и тестирование карты

  1. Создайте карту:

    cd map-editor
    ./open-editor.sh
    
    • Нарисуйте карту
    • Обязательно добавьте точку старта (тип 5)
    • Экспортируйте в JSON
  2. Решите карту:

    cd ..
    dotnet run --project racing-astar.csproj maps/your-map.json
    
  3. Визуализируйте решение:

    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

🔗 Связь между приложениями

  1. Редактор карт → создает JSON файлы карт
  2. C# Solver → принимает карты, генерирует решения
  3. Визуализатор → отображает карты и решения

Приложения полностью независимы и могут использоваться отдельно.


Создано для проекта Racing