{"id":785,"date":"2014-12-14T15:04:52","date_gmt":"2014-12-14T14:04:52","guid":{"rendered":"https:\/\/www.customprotocol.com\/?post_type=it_programmation&amp;p=785"},"modified":"2014-12-14T15:04:52","modified_gmt":"2014-12-14T14:04:52","slug":"programmer-en-lua-debutant-cours-n4-abordons-les-tables","status":"publish","type":"it_programmation","link":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/","title":{"rendered":"Programmer en Lua &#8211; D\u00e9butant &#8211; Cours n\u00b04&nbsp;: Abordons les tables"},"content":{"rendered":"<blockquote>\n<p>\u00a0<em>Vous visitez actuellement un de nos cours pour programmer en Lua. Pour voir la liste des cours disponibles sur le site,\u00a0<a title=\"Programmer en Lua\" href=\"https:\/\/www.customprotocol.com\/programmation\/dev-lua-programmer-en-lua\/\" target=\"_blank\" rel=\"noopener noreferrer\">cliquez ici<\/a>.<\/em><\/p>\n<\/blockquote>\n<p>Nous allons rentrer dans un cours plus th\u00e9orique que ceux abord\u00e9 avant, soyez attentif car cela vous servira pour tous les cours et projets en Lua.<\/p>\n<p>Une table, c'est comme un peu pr\u00e8s un tableau de valeur sur excel. Vous pouvez ranger dans une table plusieurs valeurs de type <em>string<\/em> ou des nombres ou bien des fonctions.<\/p>\n<p>Commen\u00e7ons 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 \u00e9cran de PSP de fa\u00e7on simple et intelligente, je devrais utiliser des tables. Tout d'abord soit j'ajoute directement mes donn\u00e9es dans une table,\u00a0soit je cr\u00e9e et j'ajoute une part une mes donn\u00e9es.<\/p>\n<pre class=\"lang:lua decode:true\" title=\"Etape 1 - Directement mes donn\u00e9es dans la table\">table&nbsp;=&nbsp;{\nimage.load(\"1.png\"),--je charge ma premi\u00e8re image dans la case 1, \nimage.load(\"2.png\"),--puis la deuxi\u00e8me dans la case 2 \nimage.load(\"3.png\")--et pour finir la troisi\u00e8me image dans la case 3.\n}<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"lang:lua decode:true\" title=\"Etape 1 - Une table et j'ajoute mes valeurs\">table&nbsp;=&nbsp;{}--Je cr\u00e9e ma table\ntable[1]&nbsp;=&nbsp;image.load(\"1.png\")--je charge ma premi\u00e8re image dans la case 1\ntable[2]&nbsp;=&nbsp;image.load(\"2.png\")--je charge ma deuxi\u00e8me image dans la case 2\ntable[3]&nbsp;=&nbsp;image.load(\"3.png\")--ke charge ma troisi\u00e8me image dans la case 3<\/pre>\n<p>\u00a0Puis on utilise <strong>une boucle while true do<\/strong>\u00a0<\/p>\n<pre class=\"lang:default decode:true\" title=\"Etape 2\">while true do--D\u00e9but de la boucle<\/pre>\n<p>\u00a0Maintenant, nous allons utiliser <strong>une boucle for\u00a0<\/strong>de ce type&nbsp;:<\/p>\n<pre class=\"lang:lua decode:true\" title=\"Etape 3\">for i=1,3 do--D\u00e9but de la boucle for<\/pre>\n<p>\u00a0Cette boucle ce r\u00e9p\u00e8te trois fois, la valeur <strong>i\u00a0<\/strong>prend ainsi la valeur 1, 2 et 3. Nous pouvons donc \"jouer\" avec cette boucle qui est tr\u00e8s pratique pour naviguer dans une table, on peut l'utiliser aussi par exemple pour faire des menus optimis\u00e9s(voir dans un autre cours) ou dans bien d'autre cas ad\u00e9quat \u00e0 son utilisation.<\/p>\n<p>Nous allons donc afficher les trois images sur l'\u00e9cran de notre PSP avec la fonction vu dans <a title=\"Programmer en Lua&nbsp;-&nbsp;Cours n\u00b03&nbsp;: Afficher une image\" href=\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-cours-n3-afficher-une-image\/\">le cours num\u00e9ro 3<\/a>.<\/p>\n<pre class=\"lang:lua decode:true\" title=\"Etape 4\">image.blit(table[i],(i*20),10)--Affichages des images\n<\/pre>\n<p>\u00a0Ainsi on affiche l'image 1, 2 et 3 situ\u00e9 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.<\/p>\n<p>Nous pouvons donc fermer notre <strong>boucle for<\/strong> ainsi que finir par rafraichir l'\u00e9cran et fermer notre <strong>boucle while.<\/strong><\/p>\n<pre class=\"lang:lua decode:true\" title=\"Etape 5\">end--Fin de la boucle for\n\nscreen.flip()--Rafraichie l'\u00e9cran\n\nend--Fin de la boucle while<\/pre>\n<p>Voil\u00e0 c'est termin\u00e9, comme je suis gentil, j'ai pr\u00e9par\u00e9 trois images de tailles 10*10 pixels.<\/p>\n<div id='gallery-1' class='gallery galleryid-785 gallery-columns-3 gallery-size-gridlove-single'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a class=\"gridlove-popup\" href='https:\/\/www.customprotocol.com\/medias\/2014\/12\/1.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/1.png\" class=\"attachment-gridlove-single size-gridlove-single\" alt=\"\" aria-describedby=\"gallery-1-808\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-808'>\n\t\t\t\tPremi\u00e8re Image\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a class=\"gridlove-popup\" href='https:\/\/www.customprotocol.com\/medias\/2014\/12\/2.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/2.png\" class=\"attachment-gridlove-single size-gridlove-single\" alt=\"\" aria-describedby=\"gallery-1-809\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-809'>\n\t\t\t\tDeuxi\u00e8me Image\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a class=\"gridlove-popup\" href='https:\/\/www.customprotocol.com\/medias\/2014\/12\/3.png'><img loading=\"lazy\" decoding=\"async\" width=\"10\" height=\"10\" src=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/3.png\" class=\"attachment-gridlove-single size-gridlove-single\" alt=\"\" aria-describedby=\"gallery-1-810\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-1-810'>\n\t\t\t\tTroisi\u00e8me Image\n\t\t\t\t<\/figcaption><\/figure>\n\t\t<\/div>\n\n<pre class=\"lang:lua decode:true\" title=\"R\u00e9capitulons\">table&nbsp;=&nbsp;{}--Je cr\u00e9e ma table\ntable[1]&nbsp;=&nbsp;image.load(\"1.png\")--je charge ma premi\u00e8re image dans la case 1\ntable[2]&nbsp;=&nbsp;image.load(\"i2.png\")--je charge ma deuxi\u00e8me image dans la case 2\ntable[3]&nbsp;=&nbsp;image.load(\"3.png\")--je charge ma troisi\u00e8me image dans la case 3\n\nwhile true do--D\u00e9but de la boucle\n\t\n\tfor i=1,3 do--D\u00e9but de la boucle for\n\t\t\n\t\timage.blit(table[i],(i*20),10)--Affichages des images\n\t\t\n\tend--Fin de la boucle for\n\n\tscreen.flip()--Rafraichie l'\u00e9cran\n\nend--Fin de la boucle while<\/pre>\n<p>\u00a0Voici le r\u00e9sultat que vous devez normalement obtenir sur votre PSP&nbsp;:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-826\" src=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4-300x170.png\" alt=\"screen-cours4\" width=\"300\" height=\"170\" srcset=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4-300x170.png 300w, https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4-370x210.png 370w, https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4-270x153.png 270w, https:\/\/www.customprotocol.com\/medias\/2014\/12\/screen-cours4.png 480w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Vous savez maintenant les bases \u00e0 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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.<\/p>\n","protected":false},"author":22,"featured_media":828,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"footnotes":""},"categories":[577,454,22,581],"tags":[582,450,583],"programmation-categorie":[578,580],"class_list":["post-785","it_programmation","type-it_programmation","status-publish","format-standard","has-post-thumbnail","hentry","category-cours-lua","category-programmation","category-tutos","category-tutos-programmation","tag-fonctions-graphiques","tag-lua","tag-tables","programmation_categorie-cours-lua","programmation_categorie-tutos"],"yoast_head":"\n<title>Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol<\/title>\n<meta name=\"description\" content=\"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol\" \/>\n<meta property=\"og:description\" content=\"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/\" \/>\n<meta property=\"og:site_name\" content=\"Custom Protocol\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.customprotocol.com\/medias\/2014\/12\/cours4-table-imagealaune.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimation du temps de lecture\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/\",\"url\":\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/\",\"name\":\"Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol\",\"isPartOf\":{\"@id\":\"https:\/\/www.customprotocol.com\/#website\"},\"datePublished\":\"2014-12-14T14:04:52+00:00\",\"dateModified\":\"2014-12-14T14:04:52+00:00\",\"description\":\"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.customprotocol.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programmation\",\"item\":\"https:\/\/www.customprotocol.com\/programmation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Programmer en Lua &#8211; D\u00e9butant &#8211; Cours n\u00b04&nbsp;: Abordons les tables\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.customprotocol.com\/#website\",\"url\":\"https:\/\/www.customprotocol.com\/\",\"name\":\"Custom Protocol\",\"description\":\"Site d&#039;hack-tualit\u00e9 et de tutoriels sur la customisation de consoles et appareils (homebrews, plugins, \u00e9mulation...)\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.customprotocol.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-CA\"}]}<\/script>\n","yoast_head_json":{"title":"Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol","description":"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/","og_locale":"fr_CA","og_type":"article","og_title":"Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol","og_description":"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.","og_url":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/","og_site_name":"Custom Protocol","og_image":[{"width":720,"height":504,"url":"https:\/\/www.customprotocol.com\/medias\/2014\/12\/cours4-table-imagealaune.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimation du temps de lecture":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/","url":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/","name":"Programmer en Lua - D\u00e9butant - Cours n\u00b04 : Abordons les tables - Custom Protocol","isPartOf":{"@id":"https:\/\/www.customprotocol.com\/#website"},"datePublished":"2014-12-14T14:04:52+00:00","dateModified":"2014-12-14T14:04:52+00:00","description":"Un cours pour apprendre \u00e0 utiliser les tables en Lua sur PSP.","breadcrumb":{"@id":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.customprotocol.com\/programmation\/programmer-en-lua-debutant-cours-n4-abordons-les-tables\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.customprotocol.com\/"},{"@type":"ListItem","position":2,"name":"Programmation","item":"https:\/\/www.customprotocol.com\/programmation\/"},{"@type":"ListItem","position":3,"name":"Programmer en Lua &#8211; D\u00e9butant &#8211; Cours n\u00b04&nbsp;: Abordons les tables"}]},{"@type":"WebSite","@id":"https:\/\/www.customprotocol.com\/#website","url":"https:\/\/www.customprotocol.com\/","name":"Custom Protocol","description":"Site d&#039;hack-tualit\u00e9 et de tutoriels sur la customisation de consoles et appareils (homebrews, plugins, \u00e9mulation...)","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.customprotocol.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-CA"}]}},"_links":{"self":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation\/785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation"}],"about":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/types\/it_programmation"}],"author":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/comments?post=785"}],"version-history":[{"count":0,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation\/785\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/media\/828"}],"wp:attachment":[{"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/media?parent=785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/categories?post=785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/tags?post=785"},{"taxonomy":"programmation_categorie","embeddable":true,"href":"https:\/\/www.customprotocol.com\/api\/wp\/v2\/programmation-categorie?post=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}