# Generateur de cartes modulaires

Ce dossier contient une premiere version autonome du generateur de cartes pour livre-jeu d'enquetes logiques.

## Lancement en ligne de commande

```bash
php generate_map.php --cols=6 --rows=8 --universe=urban --blocked=4 --seed=12345 --showCoordinates=1
```

Sorties :

- `output/maps/...png`
- `output/json/...json`

## Preview HTML

Depuis le dossier `map-generator` :

```bash
php -S localhost:8000
```

Puis ouvrir :

```text
http://localhost:8000/preview.php?cols=6&rows=8&universe=urban&blocked=4&seed=12345
```

## Assets

Les images definitives peuvent etre placees dans :

- `assets/zones/<type>/<image>.png`
- `assets/roads/<roadType>/N.png`
- `assets/roads/<roadType>/E.png`
- `assets/roads/<roadType>/S.png`
- `assets/roads/<roadType>/W.png`
- `assets/roads/<roadType>/C.png`

Si une image manque, le renderer dessine un placeholder colore. Les routes manquantes sont dessinees avec GD.

## Configuration

- `config/settings.php` contient les valeurs par defaut.
- `config/universes.php` contient les univers et ponderations de zones.

Le generateur accepte deja une structure de contraintes dans `MapGenerator::generate($options, $constraints)` :

```php
$constraints = [
    'blockedCells' => ['C3', 'D4'],
    'slowCells' => ['E2'],
    'importantCells' => [
        'B2' => [
            'type' => 'library',
            'label' => 'Bibliotheque',
            'preferredZoneType' => 'civic',
            'preferredAsset' => 'civic/library_01.png',
        ],
    ],
    'suspectStarts' => [
        'A' => 'A2',
        'B' => 'F6',
    ],
];
```

