init
This commit is contained in:
228
maps/MAP-50x50-100cp-INFO.md
Normal file
228
maps/MAP-50x50-100cp-INFO.md
Normal 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
|
||||
**Статус**: ✅ Протестировано и работает
|
||||
|
||||
Reference in New Issue
Block a user