Ceci est une ancienne révision du document !
Table des matières
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
- Déplacement : calculer une destination, vérifier les coordonnées, puis lire le terrain. Déplacer le personnage seulement si la case est libre.
- 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. - Sortie : vérifier la position et
cle.priseavant de déclarer la victoire. - Hasard : parcourir les sols accessibles dans une liste d'emplacements, puis
choisir: hasardpour une clé. Utiliserpiocher: hasardpour 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.
Les tutoriels fournis avec les sources 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/. Snake et Mini Doom donnent des exemples plus complets.
Voir Listes et boucles, Tuiles et grilles et Raccourcis.
