MÓDULO 1: SCRIPTING

Condicionales

Los condicionales son como las decisiones de un personaje en un juego: “¿Tengo vida? → Sigo jugando. ¿No tengo vida? → Game Over.” En Lua, usamos if, else y elseif para tomar decisiones.


1. La Estructura Básica: if

Si una condición es verdadera, ejecuta un bloque de código. Si no, lo salta.

local vida = 50

if vida > 0 then
  print("¡Sigue jugando!")
end

-- Si la vida fuera 0 o menos, no imprimiría nada

¡Importante! En Lua, then y end son obligatorios. No hay llaves {} como en JS o Python.


2. if + else: Dos Caminos

Si la condición es falsa, ejecuta el bloque de else.

local vida = 0

if vida > 0 then
  print("¡Sigue jugando!")
else
  print("Game Over")
end

Ejemplo en un juego:

local nivel = 5
local nivelRequerido = 3

if nivel >= nivelRequerido then
  print("¡Puedes entrar al nivel!")
else
  print("Necesitas nivel 3 o más.")
end

3. if + elseif + else: Múltiples Caminos

Para más de dos opciones, usa elseif (¡sin espacio! Es una sola palabra).

local puntuacion = 85

if puntuacion >= 90 then
  print("¡Excelente! 🌟")
elseif puntuacion >= 70 then
  print("Bien hecho! 🎯")
elseif puntuacion >= 50 then
  print("Puedes mejorar 📈")
else
  print("¡Inténtalo de nuevo! 💪")
end

¡Atención! En Lua, elseif se escribe todo junto. No es else if como en JavaScript.


4. Operadores de Comparación

Para comparar valores en condicionales, usa estos operadores:

== Igual (valor) — 5 == 5true
~= Diferente — 5 ~= 3true
>, <, >=, <= Mayor, menor, mayor o igual, menor o igual
and Y lógico — true and falsefalse
or O lógico — true or falsetrue
not NO lógico — not truefalse

🛠️ Tu Misión

Prueba esto en lua.org:

  1. Crea una variable vida = 20.
  2. Usa un if para imprimir “¡Estás vivo!” si la vida es mayor que 0.
  3. Añade un else para imprimir “¡Has muerto!” si la vida es 0 o menos.
  4. Crea una variable nivel = 4 y usa if + elseif + else para imprimir:
    • “¡Nivel 5 o más!” si nivel >= 5
    • “¡Nivel 3 o más!” si nivel >= 3
    • “¡Necesitas subir de nivel!” si no cumple ninguna.
  5. Bonus: Usa and para verificar si un jugador tiene vida > 0 y monedas >= 10 para imprimir “¡Puedes comprar un item!”.