Contents Up Previous Next

Le format String

Vous aurez besoin à plusieurs reprises dans votre jeu de créer des chaînes de caractères qui contiendront des valeurs de variables, et des fonctions comme Display et String.Format vous permettent de le faire.

AGS utilise un format basé sur celui utilisé par printf, dans le langage C. Cela signifie que vous devrez insérer du code spécial dans votre texte pour y afficher la valeur d'une variable. Ces codes spéciaux commencent par un signe de pourcentage auquel est ajouté le type de la variable. Les variables elles-mêmes dont vous voulez afficher les valeurs sont listées ensuite.

Voici les codes spéciaux que vous pouvez utiliser :
Code Description
%d Entier (utilisé pour afficher une valeur d'une variable int ou short)
%0Xd Entier précédé de zéros pour atteindre X chiffres
%s Chaîne de caractères (utilisé pour afficher les variables string)
%c Caractère (affiche le caractère ASCII correspondant à la valeur entrée)
%f Décimale (affiche la valeur d'une variable float)
%.Xf Décimale avec X chiffres après la virgule
%% Affiche le caractère '%' (ce n'est pas une variable)

Quelques exemples :

int vie = 42;
float deuxPi = Maths.Pi * 2.0;
String message = "Une variable String";

Display("Une chaîne normale sans variable.");
Display("Le sens de la vie est %d.", vie);
Display("Le sens de la vie en trois chiffres est %03d.", vie);
Display("2 fois Pi vaut %f.", deuxPi);
Display("Le message dit : %s.", message);
ce qui affichera :
Une chaîne normale sans variable.
Le sens de la vie est 42.
Le sens de la vie en trois chiffres est 042.
2 fois Pi vaut 6.283186.
Le message dit : Une variable String.
Vous pouvez afficher autant de variables que vous voulez en une ligne :
int vie = 42;
float deuxPi = Maths.Pi * 2.0;

Display("La vie vaut %d, 2 x Pi = %f, et mon repas est %s.", vie, deuxPi, "terrible");
mais faites très attention à entrer le nombre correct de variables vis-à-vis des codes utilisés dans le texte. Si vous n'entrez pas assez de variables, le jeu risque de planter.