> Tutoriel LeekScript
La première notion que vous devez acquérir est celle-ci : Les variables.
Les variables permettent de stocker des informations. Quand on crée une variable, on lui donne un nom. On peut ensuite utiliser ce nom pour lire l'information qu'elle contient ou lui en donner une nouvelle. Elles sont la base de n'importe quel programme. C'est un peu la mémoire de votre poireau.
Nous ne rentrerons pas dans les détails du fonctionnement de la mémoire d'un ordinateur. Dîtes-vous simplement que votre poireau est capable de retenir des nombres. Beaucoup de nombres ...
Lorsque vous créez une variable, vous réservez un emplacement de la mémoire de votre poireau pour y stocker une information. Vous lui dîtes Retiens cette information, tu en auras besoin plus tard!
Vous pouvez vous représenter les variables comme des tiroirs. Imaginez que la tête de votre poireau est remplie à ras bords de tiroires. Lorsque vous voulez stocker vos chaussettes, vous ouvrez un tiroir, vous mettez vos chaussettes dedans, et vous place une étiquette "Chaussettes" à l'avant du tiroir.
Sur Leek Wars, c'est pareil ! (Sans les chausettes). Si vous souhaitez conserver votre quantité de points de vie à un instant donné, vous allez avoir besoin d'un tiroir. Via votre code, vous allez mettre votre quantité de points de vie dans un tiroir et inscrire "Quantité de points de vie" dessus. Lorque vous aurez besoin d'accéder à cette information, vous indiquerez à votre poireau Donne moi le contenu du tiroir "Quantité de points de vie".
En informatique, on classe les variables par type. Vous pouvez stocker différentes information :
Le LeekScript est un langage typé dynamiquement. Ainsi, vous n'avez pas besoin de définir vous mêmes quel sera le type d'une variable. Le langages'en occupe pour vous. On déclare une variable et on stocke ce que l'on veut dedans, la variable s'adaptera à son contenu. Ce principe simplifie l'utilisation des variables pour les débutants, mais cela peut aussi vous jouer des tours si vous n'y faites pas attention.
Pour commencer, il vous faut ensuite un petit nom pour votre variable. Mais il y a quelques règles à respecter pour cela :
Ainsi des noms comme "nombreDeVie" , "poireau" , "ma_cellule" , "poireau1" sont des noms de variable corrects. Attention à la casse, "poireau" et "Poireau" sont deux variables différentes.
Il vaut mieux éviter de nommer ses variables n'importe comment. Il peut vous sembler facile et pratique de nommer vos variables "a" , "b" , "c" ... surtout si vous manquez d'inspiration. Pourtant, vous perdre plus de temps à vous souvenir de l'utilité d'une variable "h" que vous n'en gagnez à l'écriture...
Soyez précis, utilisez des noms de variable qui indiquent clairement son utilité. Les abréviations peuvent être utiles, mais n'en abusez pas. Une variable qui contient la cellule de l'ennemi ? "enemyCell" est un très bon nom. Une variable qui contient la distance avec l'ennemi ? Un simple "distance" suffit, mais il faudra préciser si vous stockez plusieurs distances.
Il est enfin temps de parler du mot-clé var. C'est lui qui va vous permettre de créer une variable.
var maVariable;
Ce code déclare une variable nommé "maVariable. On parle donc de "déclaration". Pour reprendre l'image des tiroirs, avec ce code on crée un tiroire étiqueté "maVariable" et celui ci est vide. Notez la présence du point virgule ';' en fin de ligne. Il signifie la fin d'une instruction. Ne l'oubliez pas !
Une variable qui ne contient rien n'est pas très utile. Voici comment on attribue une valeur à notre variable au moment de la déclaration. On parle "d'Initialisation".
var maVariable = 5;
On crée alors une variable nommée "maVariable" qui contient la valeur entière 5. On crée aussi un tiroir étiqueté "maVariable", mais cette fois-ci, on place la valeur "5" dedans. On peut dire que cette ligne dit à votre poireau Retiens que maVariable vaut 5.
Affichons le contenu de notre variable grâce à la fonction debug. Pour cela, on appelle la fonction comme ceci : "debug();". Et on lui précise dans les parenthèses ce qu'elle doit afficher.
var maVariable = 5; debug(maVariable); //Affiche : 5
Ce code affichera le contenu de "maVariable" dans les logs du combat. Essayez avec un combat de test.
Une variable peut stocker tout et n'importe quoi. Vous pouvez y mettre des nombres entiers, des décimaux, et même du texte.
var unEntier = 5; debug(unEntier); //Affiche : 5
var unDecimal = 3.14; debug(unDecimal); //Affiche : 3.14
var duTexte = "Bonjour !"; debug(duTexte); //Affiche : Bonjour !
Notez que s'il s'agit de texte, celui-ci doit être entouré de guillemets '"'.
Attention, pour les nombres décimaux, on utilise un point, pas une virgule.
Enfin, il y a un dernier type de donnée que vous pouvez stocker. On les appelle des booléens.
Un booléen est une variable qui ne peut avoir que deux valeurs différentes. Pas plus, pas moins.
Là où un entier peut valoir 0, 1, 2, etc. Un booléen ne peut contenir que les valeurs true, ou false.
Pas de nuances de gris chez le booléen, pour lui, tout est vrai ou faux. (true ou false en Anglais)
Déclarons des booléens !
var monBooleen = true; debug(monBooleen); // Affiche : true monBooleen = false; debug(monBooleen); // Affiche : false
Soyez bien conscient que ce n'est pas du texte. Notez l'absence de guillemets. true et false sont deux valeurs spécifiques, au même titre que 1, -2, 3.14, "pouet", etc.
C'est bien joli de créer une variable avec une valeur. Mais si on pouvait changer la valeur selon notre bon vouloir, ce serait quand même mieux !
Et pour faire cela, vous connaissez déjà la syntaxe. Regardez à nouveau ce code :
var maVariable = 5;
Vous avez appris que le mot-clé var permet de créer une variable. Et bien le symbole égal '=' signifie que l'on attribue une valeur à cette variable.
Ainsi, pour changer le contenu d'une variable :
var maVariable = 5; debug(maVariable); // Affiche : 5
maVariable = -10; debug(maVariable); // Affiche : -10
var maVariable = 5.64; debug(maVariable); // Affiche : 5.64
maVariable = "J'aime les poireaux !"; debug(maVariable); // Affiche : J'aime les poireaux !
maVariable = true; debug(maVariable); // Affiche : true
On parle d'attribution. On attribue la valeur 10 à maVariable. Vous pouvez changer le contenu d'une variable quand bon vous chante.
Il existe un autre mot-clé qui permet de déclarer des variables. global permet de déclarer des variables dites "globales".
Vous savez maintenant que votre code est exécuté à chaque tour de votre poireau. Ainsi, vos variables déclarées avec var sont recréées à chaque tour. Elles sont ré-initialisées par la même occasion.
Ce n'est pas le cas des globales. Si vous déclarer une variable globale comme ceci :
global maVariable = 5;
Cette variable sera créée au premier tour de votre poireau. Mais contrairement aux variables normales, elle continue d'exister à la fin du tour.
Pour mieux visualiser ce qu'il se passe, nous allons prendre un peu d'avance sur le prochain chapitre. Testez ce code :
var maVariable = 0; maVariable = maVariable + 1; debug(maVariable);
Vous le verrez au prochain chapitre, la ligne "maVariable = maVariable + 1;" augmente la valeur de "maVariable" de 1. Si "maVariable" vaut 1, elle vaudra 2. Si elle vaut 2, elle vaudra 3. etc.
Avec ce code, au tour 1 vous verrez s'afficher la valeur 1. Et au tour 2 aussi. Ainsi qu'à tous les suivants. A chaque tour, la variable est recréée et vaut donc toujours 1 au moment de l’affichage.
Essayons maintenant avec une globale :
global maVariable = 0; maVariable = maVariable + 1; debug(maVariable);
Au tour 1, vous devriez voir la valeur 1. Jusque là, rien d’extraordinaire. Et au tour 2... La variable vaut 2 ! Et ça continue, à chaque tour, la valeur augmente.
Cette fois-ci, la variable est créée au premier tour, mais pas aux suivants. Et elle continue d'exister. Notez que la ligne "global maVariable = 0;" n'est exécutée qu'au premier tour. La variable continue d'exister, mais elle n'est pas non plus remise à zéro.
Concrètement, les globals permettent de conserver des informations entre les tours. Pour autant, il ne faut pas en abuser, et il faut aussi faire attention à l'actualisation des informations que vous stockez. Par exemple, si vous conservez la position de l'adversaire, attention à la mettre à jour avant de tirer. Il serait dommage de tirer sur une cellule où il n'est plus.
Les globales ont une autre utilité, mais nous en parlerons plus tard, lorsque nous aborderons le sujet de la portée des variables.
Vous savez désormais comment créer des variables avec var et modifier leur contenu avec '='.
Mais les variables ont encore quelques secrets pour vous. Nous en parlerons plus tard, vous aurez besoin d'apprendre deux ou trois bricoles avant.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.