документация к кнопке + .vscode для .net

This commit is contained in:
2026-01-09 22:04:20 +05:00
parent b3597473c7
commit f12ec057d3
3 changed files with 186 additions and 0 deletions

View 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
}
```
## Совместимость
✅ Работает со всеми существующими картами
Не ломает загрузку решений из файлов
✅ Совместимо с редактором карт