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. **Создавайте свои**: Самые интересные карты - ваши собственные
---
**Удачи в гонках!** 🏁

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
**Статус**: ✅ Протестировано и работает

224
maps/TEST-MAPS-README.md Normal file
View File

@@ -0,0 +1,224 @@
# 🗺️ Тестовые карты для A* алгоритма
Эта папка содержит набор тестовых карт для проверки работы алгоритма A* с новыми правилами игры.
## 🎮 Новые правила
| Тип | Код | Символ | Правило |
|-----|-----|--------|---------|
| Дорога | 0 | ` ` | Ускорение ±2 |
| Камень | 1 | `#` | Можно проезжать, нельзя останавливаться |
| Снег | 2 | `~` | Ускорение ±1 |
| Лёд | 3 | `=` | Ускорение 0 (инерция) |
| Чекпоинт | 4 | `1-9` / `●` | Как дорога |
---
## 📂 Тестовые карты
### test-obstacles.json
**Назначение**: Проверка проезда через препятствия
```
S
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
# # # # # # # #
1
```
- Размер: 15×11
- Чекпоинты: 1
- Препятствия: 56
- **Результат**: ✅ 4 хода
---
### test-snow.json
**Назначение**: Проверка ограниченного маневрирования на снегу
```
S
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ 1 ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
```
- Размер: 15×9
- Чекпоинты: 1
- Снег: 49 клеток
- **Результат**: ✅ 3 хода
- **Ускорения на снегу**: (1,1), (-1,0) — все в пределах ±1
---
### test-ice.json
**Назначение**: Проверка инерции на льду
```
S
= = = = = = = = = = =
= = = = = = = = = = =
= = = = = 1 = = = = =
= = = = = = = = = = =
= = = = = = = = = = =
```
- Размер: 18×9
- Чекпоинты: 1
- Лёд: 54 клетки
- **Результат**: ✅ 3 хода
- **Поведение**: Алгоритм не планирует остановки на льду
---
### test-combined.json
**Назначение**: Комплексная проверка всех типов поверхностей
```
S
1
# # # #
# # # #
# # # # 2
# # # # ~ ~ ~ ~ ~
~ ~ ~ ~ ~
~ ~ 3 ~ ~
~ ~ ~ ~ ~
~ ~ ~ ~ ~ = = = =
= = = =
= 4 = =
= = = =
```
- Размер: 20×15
- Чекпоинты: 4
- Препятствия: 16
- Снег: 24 клетки
- Лёд: 15 клеток
- **Результат**: ✅ 9 ходов
- **Проверки**:
- ✅ Проезд через препятствия
- ✅ Ограниченное ускорение на снегу
- ✅ Корректная работа на льду
---
## 🚀 Запуск тестов
### Компиляция
```bash
cd /home/tactile/dev/dotnet/racing
dotnet build racing-astar.csproj
```
### Запуск отдельного теста
```bash
# Тест препятствий
./bin/Debug/net8.0/racing-astar maps/test-obstacles.json
# Тест снега
./bin/Debug/net8.0/racing-astar maps/test-snow.json
# Тест льда
./bin/Debug/net8.0/racing-astar maps/test-ice.json
# Комплексный тест
./bin/Debug/net8.0/racing-astar maps/test-combined.json
```
### Запуск всех тестов
```bash
#!/bin/bash
for map in maps/test-*.json; do
echo "========================================="
echo "Testing: $map"
echo "========================================="
./bin/Debug/net8.0/racing-astar "$map"
echo ""
done
```
---
## 📊 Ожидаемые результаты
| Карта | Ходов | Итераций | Время |
|-------|-------|----------|-------|
| test-obstacles.json | 4 | 24 | <0.05с |
| test-snow.json | 3 | 42 | <0.05с |
| test-ice.json | 3 | 34 | <0.05с |
| test-combined.json | 9 | 21 | <0.05с |
---
## 🎨 Легенда визуализации
### В картах JSON
- `0` = дорога
- `1` = камень (препятствие)
- `2` = снег
- `3` = лёд
- `4` = чекпоинт
### В консольном выводе
- `S` = старт
- `1-9` = чекпоинты (номера)
- `●` = чекпоинты ≥10
- `#` = камни (можно проезжать)
- `~` = снег (ускорение ±1)
- `=` = лёд (инерция)
- `.` = путь решения
- ` ` = обычная дорога
---
## 🔧 Создание собственной тестовой карты
Пример минимальной карты:
```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]
]
}
```
**Рекомендации**:
1. Первая ячейка типа `0` (дорога) становится стартом
2. Чекпоинты обозначайте типом `4`
3. Карта читается сверху вниз (первая строка JSON = верх карты)
4. Y-координаты инвертируются автоматически
---
## 📖 Дополнительные ресурсы
- `/TESTING-SUMMARY.md` - Полная сводка тестирования
- `/TEST-RESULTS.md` - Детальные результаты каждого теста
- `/ASTAR-README.md` - Документация алгоритма A*
- `/MAP-FORMAT.md` - Формат карт
---
## ✅ Статус
Все тестовые карты проверены и работают корректно.
Последнее тестирование: **19 октября 2025**
**100% тестов пройдено успешно!** 🎉

17
maps/easy-test.json Normal file
View File

@@ -0,0 +1,17 @@
{
"map": [
[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

16
maps/open-field.json Normal file
View File

@@ -0,0 +1,16 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

1852
maps/racing-map-42x42.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

16
maps/simple-test.json Normal file
View File

@@ -0,0 +1,16 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 1, 1, 1, 4, 0, 1, 0],
[0, 1, 0, 1, 2, 2, 2, 0, 1, 0],
[0, 1, 0, 1, 4, 1, 1, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 5, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

20
maps/test-combined.json Normal file
View File

@@ -0,0 +1,20 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0],
[0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 2, 2, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 3, 3, 3, 3],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 3],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

14
maps/test-ice.json Normal file
View File

@@ -0,0 +1,14 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0],
[0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0],
[0, 0, 0, 0, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 0, 0, 0],
[0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0],
[0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

16
maps/test-obstacles.json Normal file
View File

@@ -0,0 +1,16 @@
{
"map": [
[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}

14
maps/test-snow.json Normal file
View File

@@ -0,0 +1,14 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0],
[0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0],
[0, 0, 0, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 0, 0],
[0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0],
[0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]
]
}

15
maps/test-start-cell.json Normal file
View File

@@ -0,0 +1,15 @@
{
"map": [
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 5, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 4, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 4, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
}