Custom Protocol

Programmer en Lua – Débutant – Cours n°4 : Abordons les tables

Un cours pour apprendre à utiliser les tables en Lua sur PSP.

 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 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 :

screen-cours4

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

Covid-19 bannière

Sujets récents du forum

Aucun sujet récent

Catégories

Archives

Covid-19 bannière
Bannière Hypsoma
Covid-19 bannière

Catégories

Archives