Le format JOB (JvRoad Object) - ArtigueOlivier/JvRoad GitHub Wiki
JvRoad documentation > Manuel de référence > Le format JOB (JvRoad Object)
La structure des fichiers .job se décompose en deux sections:
- [Definition] : C'est l'entête du fichier
- [Draw] : Contient la liste des instructions de dessin Note: Merci de respecter la case. Le langage est sensible aux majuscules. Pour réduire au maximum les problèmes dans ce domaine
Elle comporte les entrées suivantes:
Elle prend en valeur une chaîne de caractères qui correspond au titre de l'objet. Exemple:
Title=Cible
La grille des objets comporte cent cases selon une matrice de 10 par 10. Dans chaque case, on peut placer un objet. Chaque case est composée à son tour d'une matrice de points de 51 par 51. L'espace entre chaque point dépend de la largeur et de la hauteur de la case. Si la largeur et la hauteur n'ont pas la même valeur, alors l'espace entre les points ne sera pas le même horizontalement et verticalement. Si vous souhaitez dessiner un rectangle c'est pas gênant, en revanche si vous souhaitez dessiner un cercle, ça ne va pas marcher ! Vous allez obtenir une ellipse. Toutefois si vous choisissez d'activer le mode Symetry, alors l'espace entre les points sera identique verticalement et horizontalement. Ce qui permettra de tracer un beau cercle sans problème. Lorsque vous activez le mode Symetry, la plus petite des valeurs entre la largeur et la hauteur est retenue pour calculer l'espace entre les points. Quant à la grille de points, elle est dans ce cas centrée par rapport à la case. Pour activer le mode Symetry, il faut indiquer la valeur 1, sinon, il faut mettre 0. Exemple mode Symetry activé
Symetry=1
[Defintion] Title=Cible Symetry=1
Cette section comporte l'ensemble des instructions de dessin de l'objet dans la carte des objets. La grille des points a une résolution de 51 par 51. Pour l'instant, les dessins sont en noir et blanc. Les instructions de dessin permettent d'effectuer des tracés en noir sur un fond blanc à moins de changer le paramétrage des couleurs au niveau du logiciel.
Elle prend une valeur entière qui indique le nombre d'instruction de dessin. Exemple, on déclare 6 instructions de dessin
Count=6
Elles sont de la forme suivante
Action=;
où
- <x> est le numéro de l'action, il commence à 0.
- <code du tracé> est un mot clé qui indique le type de tracé à effectuer
- <paramètres du tracé> est la liste des paramètres correspondant au <code du tracé>. Chaque paramètre est séparé par un point virgule.
Permet de tracer une ligne d'un point de départ à un point d'arrivée. Code: LIGNE ou LINE.
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point d'arrivée en x |
yf | Valeur entière comprise entre 0 et 50 | Point d'arrivée en y |
Action=LINE;xi;yi;xf;yf;
Exemple concret
Action0=LINE;2;2;45;40;
Permet de tracé un rectangle dont l'intérieur est transparent. Le point initial est en haut à gauche, tandis que le point final est en bas à droite. Code: RECT
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point final en x |
yf | Valeur entière comprise entre 0 et 50 | Point final en y |
Action=RECT;xi;yi;xf;yf;
Exemple concret
Action0=RECT;2;2;45;40;
Permet de tracé un rectangle dont l'intérieur est plein. Le point initial est en haut à gauche, tandis que le point final est en bas à droite. Code: PAVE
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point final en x |
yf | Valeur entière comprise entre 0 et 50 | Point final en y |
Action=PAVE;xi;yi;xf;yf;
Exemple concret
Action0=PAVE;2;2;45;40;
Permet de tracé une ellipse dont l'intérieur est transparent. L'ellipse s'inscrit dans un rectangle délimité par deux point. Le centre de l'ellipse correspond au centre du rectangle (intersection des diagonales du rectangle). Le point initial est en haut à gauche, tandis que le point final est en bas à droite. Si Le mode Symetry est activé et que largeur et la hauteur du rectangle sont identiques, alors on obtient un cercle. Code: CERCLE ou CIRCLE
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point final en x |
yf | Valeur entière comprise entre 0 et 50 | Point final en y |
Action=CIRCLE;xi;yi;xf;yf;
Exemple concret
Action0=CIRCLE;2;2;45;40;
Permet de tracé une ellipse dont l'intérieur est plein. L'ellipse s'inscrit dans un rectangle délimité par deux point. Le centre de l'ellipse correspond au centre du rectangle (intersection des diagonales du rectangle). Le point initial est en haut à gauche, tandis que le point final est en bas à droite. Si Le mode Symetry est activé et que largeur et la hauteur du rectangle sont identiques, alors on obtient un cercle. Code: ELLIPSE
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point final en x |
yf | Valeur entière comprise entre 0 et 50 | Point final en y |
Action=ELLIPSE;xi;yi;xf;yf;
Exemple concret
Action0=ELLIPSE;2;2;45;40;
Permet de tracé un arc. L'arc s'inscrit dans un rectangle délimité par deux point. Le point initial est en haut à gauche, tandis que le point final est en bas à droite. Code: ELLIPSE
Nom | Type de valeur | Signification |
---|---|---|
xi | Valeur entière comprise entre 0 et 50 | Point de départ en x |
yi | Valeur entière comprise entre 0 et 50 | Point de depart en y |
xf | Valeur entière comprise entre 0 et 50 | Point final en x |
yf | Valeur entière comprise entre 0 et 50 | Point final en y |
ai | Valeur entière comprise entre 0 et 359 | Angle de départ en degrés |
af | Valeur entière comprise entre 0 et 359 | Angle d'arrivée en degrés |
Action=ARC;xi;yi;xf;yf;ai;af;
Exemple concret
Action0=ELLIPSE;2;2;45;40;0;90;
[Draw] Count=6 Action0=CERCLE;0;0;50;50; Action1=CERCLE;5;5;45;45; Action2=LINE;0;25;10;25; Action3=LINE;40;25;50;25; Action4=LINE;25;0;25;10; Action5=LINE;25;40;25;50;
[Definition] Title=Cible Symetry=1 [Draw] Count=6 Action0=CERCLE;0;0;50;50; Action1=CERCLE;5;5;45;45; Action2=LINE;0;25;10;25; Action3=LINE;40;25;50;25; Action4=LINE;25;0;25;10; Action5=LINE;25;40;25;50;