Files
paper-racing-gpi/maps/ALL-MAPS-INDEX.md
2025-10-20 19:35:38 +05:00

9.9 KiB
Raw Permalink Blame History

🗺️ Индекс всех карт 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 - Оптимизация

Изучение механик

  1. test-obstacles.json - Препятствия
  2. test-snow.json - Снег
  3. test-ice.json - Лёд
  4. test-combined.json - Все вместе

Профи

  1. racing-map-42x42.json - Большая карта
  2. racing-map-50x50-100cp.json - Финальный босс

🚀 Быстрый старт

Запуск конкретной карты

./bin/Debug/net8.0/racing-astar maps/[название-карты].json

Запуск всех тестов

./run-all-tests.sh

Примеры

# Легкая карта для начала
./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 - Подробности о большой карте

🔧 Создание собственных карт

Минимальный пример

{
  "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 скрипт для генерации больших карт:

# Пример в 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. Создавайте свои: Самые интересные карты - ваши собственные

Удачи в гонках! 🏁