Lua Leçon 2
Conditions et boucles
if, elseif, else, puis les boucles for et while, avec la syntaxe un peu particulière de Lua.
À la fin de cette leçon, tu sauras
- Écrire une condition avec if … then … end
- Répéter avec for et while
- Connaître les opérateurs and, or, not et ~=
Les conditions
En Lua, pas d'accolades : un bloc commence par then (pour un if) ou do (pour une boucle) et se termine par end.
local vie = 35
if vie <= 0 then
print("Game over")
elseif vie < 50 then
print("Attention, vie faible")
else
print("En pleine forme")
end- égal :
==, et différent :~=(et pas!=comme ailleurs) ; - combiner :
and,or,not, écrits en toutes lettres.
Astuce : en Lua, seuls false et nil sont « faux ». Le nombre 0 et le texte vide "" sont considérés comme vrais, contrairement à beaucoup d'autres langages.
La boucle for
for i = 1, 5 do
print("Tour " .. i)
end
for i = 10, 0, -2 do -- de 10 à 0, de 2 en 2
print(i)
endOn donne le départ, l'arrivée (incluse) et, si besoin, le pas.
La boucle while
local essence = 3
while essence > 0 do
print("Il reste " .. essence .. " litres")
essence = essence - 1
endAttention : Lua n'a pas de raccourci += ni ++. On écrit essence = essence - 1.
À toi de jouer
Avec une boucle for qui va de 1 à 10, affiche chaque nombre. Si le nombre est pair, affiche « … est pair », sinon « … est impair ». Indice : un nombre est pair si i % 2 == 0.
main.lua
- Une boucle for va de 1 à 10
- Un if teste si le nombre est pair avec % 2
- Il y a un else pour les impairs
- Les mots pair et impair sont affichés
- Les blocs sont fermés par end
Bravo, toutes les consignes sont réussies !
Bloqué ? Voir une solution
for i = 1, 10 do
if i % 2 == 0 then
print(i .. " est pair")
else
print(i .. " est impair")
end
end