O Loop while
Parte da seção Fundamentos do Journey de Lua da Coddy. Lição 71 de 90.
Às vezes, você precisa repetir um código sem saber de antemão quantas vezes, por exemplo, até que o jogador fique sem vidas. 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 a ser repetido
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 dentro dele é 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 saúde máxima. Dentro do loop, primeiro imprima o valor da saúde atual e, em seguida, 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 (fazendo playerHealth ser igual a 100) e, como 100 não é menor que maxHealth, o loop para sem imprimir 100.
A saída esperada é:2540557085
Experimente você mesmo
-- Inicialize a saúde do jogador e a saúde 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 saúde atual e, em seguida, 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 Fundamentos
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 RegressivaPratique por conta própria: Compilador de Lua online