документация к кнопке + .vscode для .net
This commit is contained in:
119
racing-tools/SOLVER-INTEGRATION.md
Normal file
119
racing-tools/SOLVER-INTEGRATION.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# Интеграция A* Solver в Визуализатор
|
||||
|
||||
## Что добавлено
|
||||
|
||||
В визуализатор решений (player.html) добавлена кнопка **"🧠 Найти решение"**, которая автоматически решает загруженную карту через микросервис A*.
|
||||
|
||||
## Изменения в файлах
|
||||
|
||||
### player.html
|
||||
- Добавлена кнопка "🧠 Найти решение" между "Загрузить карту" и "Загрузить решение"
|
||||
- Добавлен div для отображения статуса решения
|
||||
|
||||
### player.js
|
||||
- Добавлена функция `solveMap()` - вызывает API `http://localhost:5000/solve`
|
||||
- Проверка наличия карты, стартовой позиции и чекпоинтов перед отправкой
|
||||
- Автоматическая загрузка решения и запуск воспроизведения
|
||||
- Отображение статистики решения (шаги, чекпоинты, время)
|
||||
- Обработка ошибок сервера
|
||||
|
||||
### styles.css
|
||||
- Добавлены стили для `.solver-status` - отображение статуса решения
|
||||
|
||||
## Как использовать
|
||||
|
||||
1. **Запустите микросервис:**
|
||||
```bash
|
||||
./run-webservice.sh
|
||||
```
|
||||
|
||||
2. **Откройте визуализатор:**
|
||||
```bash
|
||||
./open-player.sh
|
||||
# или откройте racing-tools/player.html в браузере
|
||||
```
|
||||
|
||||
3. **Загрузите карту:**
|
||||
- Нажмите "📂 Загрузить карту"
|
||||
- Выберите JSON файл с картой
|
||||
- Карта должна содержать старт (тип 5) и чекпоинты (тип 4)
|
||||
|
||||
4. **Найдите решение:**
|
||||
- Нажмите "🧠 Найти решение"
|
||||
- Дождитесь ответа от сервера
|
||||
- Решение автоматически загрузится и начнет воспроизводиться
|
||||
|
||||
## Статус решения
|
||||
|
||||
После нажатия кнопки отображается:
|
||||
|
||||
### Успех ✅
|
||||
```
|
||||
✅ Решение найдено!
|
||||
📊 Шагов: 15
|
||||
🎯 Чекпоинтов: 3
|
||||
⚡ Макс. скорость: 6
|
||||
⏱️ Время: 0.52s
|
||||
```
|
||||
|
||||
### Ошибка ❌
|
||||
- "Решение не найдено" - нет решения в рамках maxIterations
|
||||
- "Сервер недоступен" - микросервис не запущен
|
||||
- Другие ошибки с описанием
|
||||
|
||||
## Преимущества
|
||||
|
||||
✅ **Быстрое тестирование** - не нужно вручную создавать решения
|
||||
✅ **Автоматическая визуализация** - решение сразу воспроизводится
|
||||
✅ **Статистика** - видно качество и производительность решения
|
||||
✅ **Обработка ошибок** - понятные сообщения об ошибках
|
||||
|
||||
## Workflow
|
||||
|
||||
```
|
||||
Загрузить карту → Найти решение → Автоматическое воспроизведение
|
||||
↓ ↓ ↓
|
||||
player.html API call to Визуализация траектории
|
||||
localhost:5000/solve
|
||||
```
|
||||
|
||||
## Требования
|
||||
|
||||
- Микросервис должен быть запущен на `http://localhost:5000`
|
||||
- Карта должна содержать:
|
||||
- Стартовую позицию (тип 5)
|
||||
- Минимум 1 чекпоинт (тип 4)
|
||||
|
||||
## Примеры карт для тестирования
|
||||
|
||||
```bash
|
||||
# Простая карта
|
||||
maps/simple-test.json
|
||||
|
||||
# Средняя карта
|
||||
maps/racing-map-15x15.json
|
||||
|
||||
# Сложная карта
|
||||
maps/racing-map-42x42.json
|
||||
```
|
||||
|
||||
## API endpoint
|
||||
|
||||
```
|
||||
POST http://localhost:5000/solve
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"map": [[0,0,4], [5,0,0], [0,0,0]],
|
||||
"maxIterations": 5000000
|
||||
}
|
||||
```
|
||||
|
||||
## Совместимость
|
||||
|
||||
✅ Работает со всеми существующими картами
|
||||
✅ Не ломает загрузку решений из файлов
|
||||
✅ Совместимо с редактором карт
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user