Além dos condicionais, outra construção bem útil é a habilidade de repetir uma ação enquanto uma condição específica não acontece. Um loop 'while' é usado para isto, com a seguinte sintaxe.
[!java|scala|c]while (condição) { action(); }[/!][!python]while condição: action()[/!]
O bloco interno é então executado várias e várias vezes, enquanto a condição se mantiver verdadeira. Mais especificamente, o buggle testa o valor da condição. Se for falsa, ignora o bloco e continua abaixo. Se for verdadeira, executa o bloco. Depois disto, testa a condição. Se agora for falsa (por exemplo, porque os movimentos do bloco nos deixaram de cara à parede), agora ignora o bloco e continua. Se ainda for true, executa o bloco e reavalia a condição. Faz isto enquanto a condição se mantém verdadeira.
Naturalmente, se a ação escolhida não modifica o valor da condição, o buggle vai fazer a ação infinitamente. O botão stop na interface se torna útil nestes casos. Para testar isto, pode tentar digitar o seguinte código no editor:
[!java|scala]while (true) { left(); }[/!][!c]while (1) { left(); }[/!][!python]while True: left()[/!]
Isto vai fazer o buggle virar à esquerda enquanto
[!c]1[/!][!java|scala]true[/!][!python]True[/!]
permanecer true
(ou seja, infinitamente), ou até que pare manualmente a usar o botão parar.
Enquanto não estiver de cara para uma parede, faça: moveForward()
Procure na documentação (em "Ajuda/Sobre este mundo") para a lista completa dos métodos dos buggles.