Vous visitez actuellement un de nos cours pour programmer en Lua. Pour voir la liste des cours disponibles sur le site, cliquez ici.
Nous allons rentrer dans un cours plus théorique que ceux abordé avant, soyez attentif car cela vous servira pour tous les cours et projets en Lua.
Une table, c'est comme un peu près un tableau de valeur sur excel. Vous pouvez ranger dans une table plusieurs valeurs de type string ou des nombres ou bien des fonctions.
Commençons par l'utilisation de base d'une table, imaginons que j'ai trois images de 10*10 pixels, que j'ai envie d'afficher sur mon écran de PSP de façon simple et intelligente, je devrais utiliser des tables. Tout d'abord soit j'ajoute directement mes données dans une table, soit je crée et j'ajoute une part une mes données.
table = { image.load("1.png"),--je charge ma première image dans la case 1, image.load("2.png"),--puis la deuxième dans la case 2 image.load("3.png")--et pour finir la troisième image dans la case 3. }
table = {}--Je crée ma table table[1] = image.load("1.png")--je charge ma première image dans la case 1 table[2] = image.load("2.png")--je charge ma deuxième image dans la case 2 table[3] = image.load("3.png")--ke charge ma troisième image dans la case 3
Puis on utilise une boucle while true do
while true do--Début de la boucle
Maintenant, nous allons utiliser une boucle for de ce type :
for i=1,3 do--Début de la boucle for
Cette boucle ce répète trois fois, la valeur i prend ainsi la valeur 1, 2 et 3. Nous pouvons donc "jouer" avec cette boucle qui est très pratique pour naviguer dans une table, on peut l'utiliser aussi par exemple pour faire des menus optimisés(voir dans un autre cours) ou dans bien d'autre cas adéquat à son utilisation.
Nous allons donc afficher les trois images sur l'écran de notre PSP avec la fonction vu dans le cours numéro 3.
image.blit(table[i],(i*20),10)--Affichages des images
Ainsi on affiche l'image 1, 2 et 3 situé leur case respective et on multiplie par 20 la position X(horizontal) de l'image pour ne pas superposer les 3 images et vu que nos images font 10*10 pixels, ce qui laisse un espace de 10 pixels entre chaque image.
Nous pouvons donc fermer notre boucle for ainsi que finir par rafraichir l'écran et fermer notre boucle while.
end--Fin de la boucle for screen.flip()--Rafraichie l'écran end--Fin de la boucle while
Voilà c'est terminé, comme je suis gentil, j'ai préparé trois images de tailles 10*10 pixels.
table = {}--Je crée ma table table[1] = image.load("1.png")--je charge ma première image dans la case 1 table[2] = image.load("i2.png")--je charge ma deuxième image dans la case 2 table[3] = image.load("3.png")--je charge ma troisième image dans la case 3 while true do--Début de la boucle for i=1,3 do--Début de la boucle for image.blit(table[i],(i*20),10)--Affichages des images end--Fin de la boucle for screen.flip()--Rafraichie l'écran end--Fin de la boucle while
Voici le résultat que vous devez normalement obtenir sur votre PSP :
Vous savez maintenant les bases à propos des tables, si vous voulez allez toujours plus loin par rapport au table rendez vous dans un autre cours dans une section plus exigeante.
0 commentaire