Outils pour utilisateurs

Outils du site


fr:yaml:tutoriel-2d

Ceci est une ancienne révision du document !


Language / Langue : FR | EN

Un petit plateau 2D

Un plateau peut tenir dans une seule salle : des nombres décrivent le terrain, une liste contient les images, et les actions changent les coordonnées. JDR-Bot reste un moteur de scénarios ; les déplacements et collisions sont à écrire.

La case et son image

Pour une carte de 7 colonnes, le numéro d'une case vaut y * 7 + x. Les coordonnées commencent à 0, vers la droite et vers le bas. La case (1, 1) est donc la case 8.

titre: Le jardin
vars:
  x: 1
  y: 1
  numero: 0
listes:
  terrain: [
    0, 0, 0, 0, 0, 0, 0,
    0, 1, 1, 1, 1, 1, 0,
    0, 1, 1, 0, 1, 1, 0,
    0, 1, 1, 0, 1, 1, 0,
    0, 1, 1, 0, 1, 1, 0,
    0, 1, 1, 1, 1, 1, 0,
    0, 0, 0, 0, 0, 0, 0
  ]
  grille: []
  tuiles: [
    /images/public/mini-doom/tileset.svg:4x4:0:0,
    /images/public/mini-doom/tileset.svg:4x4:1:0,
    /images/public/mini-doom/tileset.svg:4x4:3:0
  ]

Le terrain contient 49 valeurs dans une seule liste : 0 pour un mur, 1 pour le sol. Les images viennent du tileset de Mini Doom, fourni avec le projet Web/Desktop. Sur un autre hébergement, fournir aussi cette image ou changer son adresse.

Reconstruire l'affichage

Ajouter cet événement automatique et sa salle après les déclarations :

evenements_globaux:
  - id: dessiner
    etat: 'ON'
    faire:
      - faire:
          - liste: grille
            garder: 0
          - pour_chaque: sol
            dans: terrain
            faire:
              - {liste: grille, ajouter: 't_tuiles[v_sol_v]_t'}
          - numero = v_y_v
          - numero * 7
          - numero + v_x_v
          - var_texte: grille[v_numero_v]
            valeur: t_tuiles[2]_t
salles:
  - id: jardin
    auto_refresh: true
    texte: '[[grid:7:grille]]'

En réunissant les deux blocs dans un fichier YAML, on obtient un plateau visible dans Tester. Le texte utilise [[grid:7:grille]] ; le même marqueur fonctionne dans un HUD. Le terrain est dessiné d'abord, le personnage ensuite. Ce premier exemple affiche seulement le plateau : les règles viennent ensuite.

Ajouter les règles

  1. Déplacement : calculer une destination, vérifier les coordonnées, puis lire le terrain. Déplacer le personnage seulement si la case est libre.
  2. Clé : une collection cle: {x: 1, y: 5, prise: 0} garde sa position et son état. Comparer les coordonnées après un déplacement.
  3. Sortie : vérifier la position et cle.prise avant de déclarer la victoire.
  4. Hasard : parcourir les sols accessibles dans une liste d'emplacements, puis choisir: hasard pour une clé. Utiliser piocher: hasard pour plusieurs objets sans réutiliser la même case.

Le tirage se fait pendant la préparation, pas à chaque déplacement. Le scénario doit garantir que les emplacements retenus sont accessibles : la grille ne calcule pas de chemin.

Avec l'éditeur

Créer les nombres, listes et collections dans Globaux > Variables. Ajouter les boucles et opérations dans le faire: d'un événement, les boutons dans les actions de la salle, puis le marqueur de grille dans un encadré. Le profil Expert affiche tous ces champs.

Tester les murs, la clé, la sortie et Rejouer. Données du test permet de consulter les coordonnées et les listes dans une fenêtre séparée, sans changer la taille du jeu.

Si vous avez les sources de JDR-Bot, les tutoriels à la racine du projet construisent La clé du jardin en cinq étapes : TUTORIEL-2D-YAML.md et TUTORIEL-2D-EDITEUR.md. Les fichiers YAML et .jdrproj correspondants sont dans dev/exemples/tutoriel-2d/. Ces chemins désignent des fichiers du projet, pas des pages du wiki. Snake et Mini Doom donnent des exemples plus complets.

Voir Listes et boucles, Tuiles et grilles et Raccourcis.

fr/yaml/tutoriel-2d.1792367415.txt.gz · Dernière modification : de cyrilfiesta