🚀 Controle de Fluxo

Pule diretamente para outras partes do código usando rótulos!

🚀

O que é controle de fluxo?

Às vezes você quer pular diretamente para outra parte do código, sem usar condicionais ou loops. Para isso, usamos rótulos e o comando execute.

Rótulos (Marcadores)

Rótulos são como placas sinalizadoras no seu código:

::nome_do_rotulo::
-- Qualquer código aqui...
Rótulos ficam entre dois pares de dois-pontos ::nome::

execute (goto)

O comando execute pula para um rótulo:

exiba("Início")

execute fim

exiba("Isso nunca aparece")  -- Pulado!

::fim::
exiba("Fim")

Resultado:

Início
Fim

Exemplo: Loop com execute

Você pode criar loops usando rótulos:

local contador = 0

::loop::
    contador = contador + 1
    exiba(contador)

    se contador < 5 então
        execute loop
    fim

exiba("Fim!")

Resultado: 1, 2, 3, 4, 5, Fim!

Exemplo: Menu interativo

::menu::
exiba("===== MENU =====")
exiba("1. Jogar")
exiba("2. Opções")
exiba("3. Sair")

local escolha = 2  -- Simulando entrada

se escolha == 1 então
    exiba("Iniciando jogo...")
    execute menu
fim

se escolha == 2 então
    exiba("Abrindo opções...")
    execute menu
fim

se escolha == 3 então
    exiba("Tchau!")
fim

Exemplo: Pular código de erro

local sucesso = falso

se não sucesso então
    exiba("Algo deu errado!")
    execute limpar
fim

exiba("Processamento normal...")

::limpar::
exiba("Limpando recursos...")
Use execute com moderação! Muitos desvios deixam o código difícil de entender. Prefira loops (para) quando possível.

Quando usar execute?

Rótulos e execute são Úteis em casos específicos, mas use com cuidado!
```