Une fois qu’on a créé des boucles For, While et des conditions, les valeurs s’accumulent et il peut devenir difficile de s’y retrouve. Heureusement, chaque problème a sa solution !
Les tableaux
Les tableaux sont extrêmement utiles en programmation, ils permettent de stocker plusieurs valeurs de même type.
Cas pratique : le temps
Pour bien comprendre de quoi il s’agit, je vais partir du principe que dans notre jeu, la variable NiveauTemps est importante. En effet, imaginez que chaque niveau est une course et que vous souhaitez stocker le temps que le joueur prend pour passer la ligne d’arrivée. Avec ce temps, vous allez pouvoir calculer son score et créer un classement.
Définir les variables
Souvent , dans un jeu de course , le joueur doit passer la ligne 3 fois. La première idée serait de créer 3 variables de type float (à virgule flottante) afin de stocker le temps du joueur sur la ligne d’arrivée. Mais il y a bien plus pratique et c’est là que les tableaux interviennent.
Un tableau permet de stocker plusieurs valeurs de même type. Il serait plus malin de créer un tableau de float contenant les 3 valeurs.
Créer un tableau de variables
Dans le Level Blueprint , faites comme d’habitude et créez une nouvelle variable de type float qui se nommera « NiveauTemps » puis créez une nouvelle catégorie « TempsJoueur ».
N’hésitez pas à « abuser » des catégories, cela permet de s’y retrouver facilement. Dans mon cas, on arrive facilement à retrouver à quoi correspondent ces variables.
Quand cette variable sera créée, nous allons la « transformer » en tableau afin de pouvoir stocker plusieurs autres variables de même type (float dans notre cas).
Cliquez sur les petits carrés situés à côté du type de float afin de créer un tableau.
Si vous compilez, vous observerez que vous pouvez maintenant stocker plusieurs valeurs dans ce tableau en appuyant sur le « + » pour augmenter la taille du tableau.
Comme pour une variable normale, vous pouvez ajouter des valeurs.
Vous pouvez bien entendu supprimer une valeur en cliquant sur la poubelle située à la droite du +.
Lire les valeurs d'un tableau
Faites un glissez-déposer de ce tableau dans l’Event Graph et faites un « Get » afin de lire ses valeurs. À partir des petits carrés, cherchez dans la liste des fonctions possibles « Get ».
Pour lire une valeur, il faut sélectionner son emplacement. Si vous regardez les valeurs des variables que vous avez saisies juste avant, vous observerez des nombres.
Si vous avez renseigné les mêmes valeurs que moi, pour l’emplacement 0 de la variable NiveauTemps vous avez une valeur de 66.2. Pour l’emplacement 1, une valeur de 59.43 et pour l’emplacement 2, une valeur de 63.48.
Je pense que vous avez saisi. Le 0 dans GET correspond à l’emplacement (l’indice de la variable). Juste devant lui il y a un rond de couleur verte, cela signifie que vous ne pouvez mettre que des entiers, donc des int.
Essayons d’afficher la 3ème valeur . Pour cela, remplacez 0 par 2 et faites un simple « Print String ».
Ce qui pourrait être sympa, ce serait d’afficher toutes les valeurs du tableau. Comment ? Avec une boucle bien sûr ! Il est vrai qu’avec seulement 3 valeurs, cela pourrait paraître inutile mais encore une fois, il vous arrivera très souvent d’avoir une dizaine de valeurs dans un tableau.
Vous vous rappelez de la boucle For ? Elle accepte deux arguments : First Index (notre première valeur à afficher) et Last Index (quand doit s’arrêter la boucle, dans notre cas à la 3ème valeur représentée par l’indice 2).
Maintenant que nous savons lire les valeurs d’un tableau, essayons d’inscrire des valeurs à l’intérieur de celui-ci.
Pour définir des valeurs dans un tableau, faites comme d’habitude un Get de ce tableau dans l’Event Graph puis à partir du tableau cherchez la fonction « Set Array Elem»
On observe que la fonction « Set Array Elem » a plusieurs paramètres :
Target Array : Il faut indiquer le tableau que vous souhaitez modifier.
Index : C’est l’emplacement qui sera modifié
Item : C’est la valeur que vous modifierez
Je pense que c’est maintenant beaucoup plus clair. Essayons de modifier le 3ème emplacement du tableau. Pour cela, il faut indiquer « 2 » dans Index (on commence par 0 pour la première valeur donc la 3e valeur c'est 2 ). Pour Item, indiquez la valeur qui devra remplacer la valeur actuelle actuellement c’est 63.48).
Vérifions que l’emplacement 2 a bien été modifié. Pour cela, nous allons afficher l’emplacement 2 avec un Print String. Allez, c’est parti, c’est exactement ce que nous avons fait tout à l’heure.
À partir d’un Get, utilisez la fonction « Print String ».
On pourrait bien sûr modifier ces valeurs à partir d’une boucle, tout cela reste possible. Les tableaux sont extrêmement utiles et c’est en plus une notion très importante en programmation. Petite interro pour vérifier que vous avez compris
TP : Un nouveau TP
Modifiez la valeur de la variable 1 du tableau NiveauTemps en « 12.99 ».
Modifiez la valeur de la variable 0 du tableau NiveauTemps en « 54.88 ».
Afficher à l’écran toutes les nouvelles valeurs avec une boucle For.
Le résultat à l’écran doit être :
Boucle terminée!
63.48
12.99
54.88
Le petit récapitulatif habituel
Vous savez créer des tableaux
Vous savez inscrire des valeurs dans ce tableau
Vous êtes capable de faire défiler les valeurs de ce tableau