El bucle while
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 71 de 90.
El bucle while es perfecto para esto: sigue ejecutando el mismo código una y otra vez mientras una condición siga siendo true.
La sintaxis básica de un bucle while se ve así:
while condition do
-- código a repetir
endAquí tienes un ejemplo sencillo que imprime los números del 1 al 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endEste bucle funciona comprobando primero si count <= 3 es verdadero. Si lo es, el código de su interior se ejecuta, imprimiendo el número actual e incrementando el contador. Luego vuelve a comprobar la condición, y el proceso se repite hasta que la condición se vuelve falsa.
Desafío
FácilCrea un sistema de monitoreo de salud que utilice un bucle while para rastrear el proceso de recuperación de un jugador. Comienza creando una variable llamada playerHealth y asígnale el valor 25. Luego crea otra variable llamada maxHealth y asígnale el valor 100.
Escribe un bucle while que continúe mientras la salud del jugador sea menor que su salud máxima. Dentro del bucle, primero imprime el valor de salud actual, luego aumenta playerHealth en 15. Debido a que la impresión ocurre antes del incremento, el último valor impreso será 85 — la condición del bucle se verifica nuevamente después de sumar 15 (haciendo que playerHealth sea igual a 100), y dado que 100 no es menor que maxHealth, el bucle se detiene sin imprimir 100.
El resultado esperado es:2540557085
Hoja de referencia
El bucle while repite el código mientras una condición permanezca true:
while condition do
-- código a repetir
endEjemplo que imprime números del 1 al 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endEl bucle comprueba la condición, ejecuta el código si es verdadera, luego comprueba de nuevo hasta que la condición se vuelve falsa.
Pruébalo tú mismo
-- Inicializar la salud del jugador y la salud máxima
local playerHealth = 25
local maxHealth = 100
-- TODO: Escribe tu código aquí
-- Crear un bucle while que continúe mientras playerHealth < maxHealth
-- Dentro del bucle: imprimir la salud actual, luego aumentar playerHealth en 15Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área12Conceptos básicos de bucles
El bucle whileEl bucle repeat-untilEl bucle for numéricoBucle for con pasoLa sentencia 'break'Resumen - Cuenta regresiva