This commit is contained in:
2025-10-20 19:35:38 +05:00
commit 023ccd03d8
42 changed files with 10007 additions and 0 deletions

View File

@@ -0,0 +1,228 @@
# 🗺️ Карта racing-map-50x50-100cp.json
**Сгенерированная интересная карта для Paper Racing**
## 📊 Параметры карты
| Параметр | Значение |
|----------|----------|
| Размер | 50×50 (2500 клеток) |
| Чекпоинты | 100 шт. |
| Дорога | 1900 клеток (76%) |
| Препятствия | 249 клеток (9%) |
| Снег | 174 клетки (6%) |
| Лёд | 77 клеток (3%) |
## 🎯 Особенности карты
### Зоны сложности
1. **Верхняя часть (Y: 35-48)** - Снежная зона
- Большая концентрация снега
- Требует точного маневрирования (ускорение ±1)
- Содержит ~40% чекпоинтов
- Препятствия для проезда
2. **Средняя часть (Y: 20-35)** - Ледяная зона
- Участки со льдом (инерция)
- Требует планирования траектории
- Смешанные типы поверхностей
- Содержит ~40% чекпоинтов
3. **Нижняя часть (Y: 1-20)** - Свободная зона
- В основном обычная дорога
- Меньше препятствий
- Островки препятствий
- Содержит ~20% чекпоинтов
### Дизайн трассы
```
Схематичное представление:
┌─────────────────────────────────────┐
│ ГРАНИЦА (препятствия) │
├─────────────────────────────────────┤
│ СНЕЖНАЯ ЗОНА ~~~~~~~~~ │
│ • Волнистая траектория │
│ • Чекпоинты 1-40 │
│ • Острова препятствий │
├─────────────────────────────────────┤
│ ЛЕДЯНАЯ ЗОНА ========= │
│ • Инерционные участки │
│ • Чекпоинты 41-80 │
│ • Смешанный ландшафт │
├─────────────────────────────────────┤
│ СВОБОДНАЯ ЗОНА
│ • Открытое пространство │
│ • Чекпоинты 81-100 │
│ • Редкие препятствия │
├─────────────────────────────────────┤
│ ГРАНИЦА (препятствия) │
└─────────────────────────────────────┘
```
## 🏁 Результаты тестирования
### Алгоритм A* решение
```
✅ Решение найдено!
Статистика:
- Ходов: 144
- Итераций: 456
- Время: 0.99 секунды
- Максимальная скорость: 9
- Размер открытого множества: 6733
Эффективность:
- Ходов на чекпоинт: 1.44
- Итераций на ход: 3.17
- Скорость поиска: ~461 итераций/сек
```
### Сложность карты
- **Размер пространства состояний**: Очень большой (50×50 × скорости × 2^100 чекпоинтов)
- **Оценка сложности**: ⭐⭐⭐⭐⭐ (5/5 - Очень сложная)
- **Время решения**: ~1 секунда (отлично!)
- **Качество эвристики**: Начальная оценка 205.23 → финальная 144.00 (переоценка ~42%)
## 🎮 Интересные моменты
### Стратегические зоны
1. **Снежная траверса** (шаги ~1-50)
- Прохождение через снежную зону
- Ограниченное маневрирование
- Сбор первых 40 чекпоинтов
2. **Ледяной дрифт** (шаги ~51-100)
- Использование инерции на льду
- Точное планирование скорости
- Сбор средних 40 чекпоинтов
3. **Финальный рывок** (шаги ~101-144)
- Быстрое движение по обычной дороге
- Сбор последних 20 чекпоинтов
- Максимальная скорость 9
### Трудные участки
- **Чекпоинты 10-15**: В центре снежной зоны, требуют точности
- **Чекпоинты 50-60**: На границе снега и льда, смена стратегии
- **Чекпоинты 80-90**: Распределены по всей нижней зоне
## 🚀 Использование
### Запуск с этой картой
```bash
# Компиляция (если нужно)
dotnet build racing-astar.csproj
# Запуск
./bin/Debug/net8.0/racing-astar maps/racing-map-50x50-100cp.json
```
### Визуализация
```
S - старт (1, 48)
1-9 - чекпоинты с номерами 1-9
● - чекпоинты с номерами ≥10
# - препятствия (можно проезжать)
~ - снег (ускорение ±1)
= - лёд (инерция)
. - путь решения
- обычная дорога
```
## 📈 Рекомендации для игроков
### Стратегии прохождения
1. **Снежная зона**
- Используйте малые ускорения
- Планируйте на 2-3 хода вперед
- Не торопитесь - точность важнее скорости
2. **Ледяная зона**
- Набирайте скорость до входа в зону
- Используйте инерцию для длинных перемещений
- Рассчитывайте траекторию заранее
3. **Свободная зона**
- Максимальное ускорение
- Быстрый сбор оставшихся чекпоинтов
- Можно рисковать
### Продвинутые техники
- **Проезд через препятствия**: Используйте высокую скорость для "прыжков" через зоны препятствий
- **Ледяной дрифт**: На льду набирайте скорость и скользите к нескольким чекпоинтам
- **Снежное торможение**: Используйте снег для точной остановки у чекпоинтов
## 🔧 Генерация карты
Карта была сгенерирована с использованием Python скрипта со следующими параметрами:
```python
width, height = 50, 50
checkpoints = 100
snow_density = 0.6 (в верхней зоне)
ice_density = 0.4 (в средней зоне)
obstacle_zones = 5 (случайные острова)
border = камни (все края)
```
### Алгоритм размещения чекпоинтов
- Волнистая траектория по синусоиде
- Равномерное распределение по карте
- Избегание границ (отступ 2-3 клетки)
- Случайная вариация для интереса
## 📊 Сравнение с другими картами
| Карта | Размер | ЧП | Ходов | Итераций | Время |
|-------|--------|-----|-------|----------|-------|
| simple-test | 10×10 | 2 | 5 | 23 | 0.04с |
| easy-test | 15×11 | 2 | 3 | 4 | 0.04с |
| test-combined | 20×15 | 4 | 9 | 21 | 0.04с |
| **racing-map-50x50-100cp** | **50×50** | **100** | **144** | **456** | **0.99с** |
**Эта карта в ~25 раз сложнее комбинированного теста!**
## 🎖️ Достижения
Если вы решите эту карту вручную:
- 🥉 **Новичок**: Решено за <300 ходов
- 🥈 **Опытный**: Решено за <200 ходов
- 🥇 **Эксперт**: Решено за <160 ходов
- 💎 **Мастер**: Решено за <150 ходов
- 🏆 **Легенда**: Решено за ≤144 хода (как A*)
## 💡 Идеи для модификации
1. **Усложнить**: Добавить больше льда и препятствий
2. **Облегчить**: Убрать снег, оставить только лёд
3. **Изменить**: Переставить чекпоинты в обратном порядке
4. **Экстрим**: 150 чекпоинтов на 60×60
## 📝 Заметки
- Карта спроектирована для демонстрации всех типов поверхностей
- Оптимизирована для A* алгоритма с эвристикой
- Баланс между сложностью и решаемостью
- Интересна как для алгоритмов, так и для ручной игры
---
**Создана**: 19 октября 2025
**Автор**: AI Generated
**Версия**: 1.0
**Статус**: ✅ Протестировано и работает