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

297
maps/ALL-MAPS-INDEX.md Normal file
View File

@@ -0,0 +1,297 @@
# 🗺️ Индекс всех карт Paper Racing
**Последнее обновление**: 19 октября 2025
---
## 📚 Доступные карты
### 🎓 Обучающие карты
#### 1. simple-test.json
- **Размер**: 10×10
- **Чекпоинты**: 2
- **Сложность**: ⭐ (1/5) - Очень легкая
- **Особенности**:
- Небольшой лабиринт
- 33 препятствия
- 3 клетки снега
- **Решение A***: 5 ходов, 23 итерации, 0.04с
- **Назначение**: Первое знакомство с игрой
#### 2. easy-test.json
- **Размер**: 15×11
- **Чекпоинты**: 2
- **Сложность**: ⭐ (1/5) - Очень легкая
- **Особенности**:
- Прямоугольная арена
- 40 препятствий по периметру
- Открытое пространство внутри
- **Решение A***: 3 хода, 4 итерации, 0.04с
- **Назначение**: Освоение базовых механик
#### 3. open-field.json
- **Размер**: 20×10
- **Чекпоинты**: 3
- **Сложность**: ⭐⭐ (2/5) - Легкая
- **Особенности**:
- Открытое поле
- Без препятствий
- Фокус на оптимизацию траектории
- **Решение A***: 6 ходов, 15 итераций, 0.05с
- **Назначение**: Тренировка оптимального маршрута
---
### 🧪 Тестовые карты (проверка механик)
#### 4. test-obstacles.json
- **Размер**: 15×11
- **Чекпоинты**: 1
- **Сложность**: ⭐⭐ (2/5) - Легкая
- **Особенности**:
- 56 препятствий в центре
- Проверка проезда через препятствия
- Нельзя останавливаться на препятствиях
- **Решение A***: 4 хода, 24 итерации, 0.04с
- **Назначение**: Тест механики препятствий
#### 5. test-snow.json
- **Размер**: 15×9
- **Чекпоинты**: 1
- **Сложность**: ⭐⭐ (2/5) - Легкая
- **Особенности**:
- 49 клеток снега
- Ограниченное ускорение (±1)
- Требует точного маневрирования
- **Решение A***: 3 хода, 42 итерации, 0.04с
- **Назначение**: Тест механики снега
#### 6. test-ice.json
- **Размер**: 18×9
- **Чекпоинты**: 1
- **Сложность**: ⭐⭐ (2/5) - Легкая
- **Особенности**:
- 54 клетки льда
- Инерция (ускорение нельзя менять)
- Требует планирования
- **Решение A***: 3 хода, 34 итерации, 0.04с
- **Назначение**: Тест механики льда
#### 7. test-combined.json
- **Размер**: 20×15
- **Чекпоинты**: 4
- **Сложность**: ⭐⭐⭐ (3/5) - Средняя
- **Особенности**:
- 16 препятствий
- 24 клетки снега
- 15 клеток льда
- Все механики вместе
- **Решение A***: 9 ходов, 21 итерация, 0.04с
- **Назначение**: Комплексная проверка всех механик
---
### 🏆 Сложные карты
#### 8. racing-map-42x42.json
- **Размер**: 42×42
- **Чекпоинты**: 40
- **Сложность**: ⭐⭐⭐⭐ (4/5) - Сложная
- **Особенности**:
- Большая карта
- Множество чекпоинтов
- Сложная топология
- **Решение A***: Требует оптимизации
- **Назначение**: Испытание алгоритма
#### 9. racing-map-50x50-100cp.json ⭐ НОВАЯ
- **Размер**: 50×50 (2500 клеток)
- **Чекпоинты**: 100
- **Сложность**: ⭐⭐⭐⭐⭐ (5/5) - Очень сложная
- **Особенности**:
- 1900 клеток дороги (76%)
- 249 препятствий (9%)
- 174 клетки снега (6%)
- 77 клеток льда (3%)
- Три зоны: снежная, ледяная, свободная
- **Решение A***: 144 хода, 456 итераций, 0.99с
- **Назначение**: Максимальный вызов
- **Документация**: `MAP-50x50-100cp-INFO.md`
---
## 📊 Сравнительная таблица
| Карта | Размер | ЧП | Ходов | Итераций | Время | Сложность |
|-------|--------|-----|-------|----------|-------|-----------|
| simple-test | 10×10 | 2 | 5 | 23 | 0.04с | ⭐ |
| easy-test | 15×11 | 2 | 3 | 4 | 0.04с | ⭐ |
| open-field | 20×10 | 3 | 6 | 15 | 0.05с | ⭐⭐ |
| test-obstacles | 15×11 | 1 | 4 | 24 | 0.04с | ⭐⭐ |
| test-snow | 15×9 | 1 | 3 | 42 | 0.04с | ⭐⭐ |
| test-ice | 18×9 | 1 | 3 | 34 | 0.04с | ⭐⭐ |
| test-combined | 20×15 | 4 | 9 | 21 | 0.04с | ⭐⭐⭐ |
| racing-map-42x42 | 42×42 | 40 | ? | ? | ? | ⭐⭐⭐⭐ |
| **racing-map-50x50-100cp** | **50×50** | **100** | **144** | **456** | **0.99с** | **⭐⭐⭐⭐⭐** |
---
## 🎯 Рекомендуемый порядок прохождения
### Новичкам
1. `simple-test.json` - Основы
2. `easy-test.json` - Простая тактика
3. `open-field.json` - Оптимизация
### Изучение механик
4. `test-obstacles.json` - Препятствия
5. `test-snow.json` - Снег
6. `test-ice.json` - Лёд
7. `test-combined.json` - Все вместе
### Профи
8. `racing-map-42x42.json` - Большая карта
9. `racing-map-50x50-100cp.json` - Финальный босс
---
## 🚀 Быстрый старт
### Запуск конкретной карты
```bash
./bin/Debug/net8.0/racing-astar maps/[название-карты].json
```
### Запуск всех тестов
```bash
./run-all-tests.sh
```
### Примеры
```bash
# Легкая карта для начала
./bin/Debug/net8.0/racing-astar maps/simple-test.json
# Средней сложности
./bin/Debug/net8.0/racing-astar maps/test-combined.json
# Максимальный челлендж
./bin/Debug/net8.0/racing-astar maps/racing-map-50x50-100cp.json
```
---
## 🎨 Легенда символов
| Символ | Тип | Код | Правило |
|--------|-----|-----|---------|
| `S` | Старт | - | Начальная позиция |
| `1-9` | Чекпоинты | 4 | Номера 1-9 |
| `●` | Чекпоинты | 4 | Номера ≥10 |
| `#` | Препятствия | 1 | Можно проезжать, нельзя останавливаться |
| `~` | Снег | 2 | Ускорение ±1 |
| `=` | Лёд | 3 | Инерция (ускорение 0) |
| `.` | Путь | - | Траектория решения |
| ` ` | Дорога | 0 | Ускорение ±2 |
---
## 📖 Документация карт
- **Общая**: `MAP-FORMAT.md` - Формат карт
- **Тестовые**: `TEST-MAPS-README.md` - Руководство по тестовым картам
- **50×50**: `MAP-50x50-100cp-INFO.md` - Подробности о большой карте
---
## 🔧 Создание собственных карт
### Минимальный пример
```json
{
"map": [
[0, 0, 0, 0, 0],
[0, 1, 1, 1, 0],
[0, 0, 4, 0, 0],
[0, 2, 2, 2, 0],
[0, 0, 0, 0, 0]
]
}
```
### Типы клеток
- `0` - Дорога (первая клетка = старт)
- `1` - Препятствие
- `2` - Снег
- `3` - Лёд
- `4` - Чекпоинт
### Генератор
Используйте Python скрипт для генерации больших карт:
```python
# Пример в IMPLEMENTATION-SUMMARY.md
```
---
## 📈 Статистика коллекции
- **Всего карт**: 9
- **Размеры**: от 10×10 до 50×50
- **Чекпоинты**: от 1 до 100
- **Общее кол-во клеток**: ~5500
- **Стилей**: Лабиринты, арены, открытые поля, комплексные
---
## 🏅 Достижения
### Коллекционер карт
- ✅ Пройти все обучающие карты
- ✅ Пройти все тестовые карты
- ✅ Пройти сложные карты
### Мастер скорости
- 🥇 Решить карту быстрее A*
- 🥈 Решить за ходов как A*
- 🥉 Решить за на 10% больше ходов чем A*
### Исследователь
- 🗺️ Создать собственную карту
- 🎨 Создать карту со всеми типами поверхностей
- 🏆 Создать нерешаемую карту
---
## 📝 История версий
### v1.2 (19.10.2025)
- ✅ Добавлена `racing-map-50x50-100cp.json`
- ✅ 100 чекпоинтов
-Все типы поверхностей
- ✅ Три зоны сложности
### v1.1 (19.10.2025)
- ✅ Добавлены тестовые карты
- ✅ Поддержка снега и льда
- ✅ Новые правила для препятствий
### v1.0 (начало)
- Базовые карты: simple-test, easy-test, open-field
- Карта 42×42 с 40 чекпоинтами
---
## 💡 Советы
1. **Начните с малого**: Сначала пройдите simple-test
2. **Изучайте механики**: Каждая тестовая карта учит чему-то новому
3. **Экспериментируйте**: Пробуйте разные стратегии
4. **Анализируйте A***: Смотрите как алгоритм решает карты
5. **Создавайте свои**: Самые интересные карты - ваши собственные
---
**Удачи в гонках!** 🏁