Hay diferentes maneras de hacer que el código se ejecute una y otra vez. Si deseas que el código se ejecute solo un número determinado de veces, usa un bucle for. Este artículo cubrirá la lógica detrás de los bucles for y demostrará algunos ejemplos prácticos, como programar una cuenta regresiva.
Cómo funcionan los bucles for
Los bucles for utilizan tres valores para controlar cuántas veces se ejecutan: una variable de control, un valor final y un valor de incremento. Comenzando desde el valor de la variable de control, los bucles for contarán hacia arriba o hacia abajo cada vez que ejecuten el código dentro del bucle hasta que pasen el valor final. Los valores de incremento positivos cuentan hacia arriba, y los valores de incremento negativos cuentan hacia abajo.

Pasos en un bucle for
Para entender los bucles for, ayuda ver un diagrama de flujo que muestre la lógica de cómo progresan.
Primero, el bucle for compara la variable de control con el valor final.

Después de ejecutar el código, se añade el valor de incremento a la variable de control. Luego, el bucle comprueba la variable de control y comienza de nuevo.

Una vez que la variable de control supera el valor final, el bucle se detendrá. Por ejemplo, si un bucle tiene un valor final de 10, una vez que la variable de control haya superado 10, el bucle for se detendrá.

Programa una cuenta regresiva
Para ver cómo funciona un bucle for, usa estos pasos para programar un bucle for que comience en 10 y cuente hacia abajo hasta 0, un número a la vez. Cada vez que se ejecute el bucle, imprimirá el valor actual dentro de la variable de control.
En ServerScriptService, crea un nuevo script llamado PracticeLoop. En el script, comienza escribiendo la palabra clave for.
forCrea una variable de control llamada count y establece un valor inicial de 10.
for count = 10Establece el valor final en 0, escribiendo , 0. Asegúrate de incluir una coma para separar los valores.
for count = 10, 0Crea un valor de incremento de -1 escribiendo , -1. Después de que el bucle haya terminado su acción, añadirá el valor de incremento a la variable de control, count. Dado que el incremento es negativo, se restará al añadirse a la variable de control.
for count = 10, 0, -1Para terminar el bucle for, escribe do y presiona Enter para añadir end. Cualquier código escrito entre do y end se ejecutará cada vez que el bucle se repita.
for count = 10, 0, -1 doendDentro del bucle, crea una cuenta regresiva imprimiendo el valor de la variable de control, count, y luego retrasa el script con una función de espera.
for count = 10, 0, -1 do-- Imprime el número actual en el que está el bucle forprint(count)-- Espera 1 segundotask.wait(1)endEjecuta el proyecto y observa la ventana de Salida para ver el bucle for.
Nota que el bucle imprimirá el valor actual de count cada vez que pase por una iteración. Una iteración es el proceso completo de comprobar el valor de control, ejecutar el código y actualizar el valor de incremento. Dado que la variable de control comienza en 10 y debe pasar 0, el bucle pasará por 11 iteraciones antes de detenerse.
Consejos para solucionar problemas
En este punto, si el bucle no funciona como se espera, intenta una de las siguientes opciones a continuación.
- Verifica que tengas dos comas separando los números en tu bucle for. Tener comas extra o faltantes hará que el bucle no comience.
- Si el bucle for imprime todo de una vez, asegúrate de que hay una función de espera que use al menos 1 segundo.
Diferentes ejemplos de bucles for
Cambiar los tres valores de un bucle for cambiará cómo funciona el bucle. A continuación, hay diferentes ejemplos de bucles for con diferentes valores de inicio, final e incremento. Intenta ponerlos en scripts y observa qué sucede.
Contar hacia arriba de uno en uno
for count = 0, 5, 1 doprint(count)task.wait(1)end
Contar hacia arriba en números pares
for count = 0, 10, 2 doprint(count)task.wait(1)end
Si los bucles for no se ejecutan en absoluto
Si la variable de control comienza más allá del valor final, como en el siguiente ejemplo, el bucle for no se ejecutará en absoluto.
for count = 10, 0, 1 doprint(count)task.wait(1)end
En este caso, el bucle for está contando hacia arriba y comprobando si count es mayor que 0. Cuando el bucle for realiza su primera verificación, ve que 10 es mayor que 0, y por lo tanto se detendrá el bucle sin imprimir nada.
Resumen
Un bucle for es un tipo común de bucle que se usa cuando un conjunto de instrucciones debe repetirse un número específico de veces. Para crear un bucle for, utiliza tres variables con la siguiente sintaxis:
for count = 0, 10, 1 doprint(count)end
En el ejemplo anterior, el bucle comenzará en 0. Para cada bucle, imprimirá la variable count, sumará 1 a count y finalmente terminará el bucle cuando count sea igual a 10.