O Loop while
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 71 de 90.
O loop while é perfeito para isso - ele continua executando o mesmo código repetidamente enquanto uma condição permanecer true.
A sintaxe básica de um laço while é assim:
while condition do
-- código para repetir
endAqui está um exemplo simples que imprime números de 1 a 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endEste loop funciona verificando primeiro se count <= 3 é verdadeiro. Se for, o código interno é executado, imprimindo o número atual e incrementando o contador. Em seguida, ele verifica a condição novamente, e o processo se repete até que a condição se torne falsa.
Desafio
FácilCrie um sistema de monitoramento de saúde que use um loop while para acompanhar o processo de recuperação de um jogador. Comece criando uma variável chamada playerHealth e atribua a ela o valor 25. Em seguida, crie outra variável chamada maxHealth e atribua a ela o valor 100.
Escreva um loop while que continue enquanto a saúde do jogador for menor que a sua saúde máxima. Dentro do loop, primeiro imprima o valor da saúde atual, depois aumente playerHealth em 15. Como a impressão acontece antes do incremento, o último valor impresso será 85 — a condição do loop é verificada novamente após adicionar 15 (tornando playerHealth igual a 100) e, como 100 não é menor que maxHealth, o loop para sem imprimir 100.
A saída esperada é:2540557085
Folha de consulta
O loop while repete o código enquanto uma condição permanecer true:
while condition do
-- código para repetir
endExemplo que imprime números de 1 a 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endO loop verifica a condição, executa o código se for verdadeira e, em seguida, verifica novamente até que a condição se torne falsa.
Experimente você mesmo
-- Inicializa a vida do jogador e a vida máxima
local playerHealth = 25
local maxHealth = 100
-- TODO: Escreva seu código aqui
-- Crie um loop while que continue enquanto playerHealth < maxHealth
-- Dentro do loop: imprima a vida atual, depois aumente playerHealth em 15Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área12Fundamentos de Loops
O Loop whileO Loop repeat-untilO Loop for NuméricoLoop for com PassoA Instrução 'break'Recapitulação - Contagem Regressiva