## Instruções

Parabéns! Você acaba de escrever seu primeiro programa! Você agora captou a ideia: programar nada mais é que dar instruções simples para o computador, que as realiza cegamente. A maior dificuldade é explicar tudo para algo tão idiota quanto um computador...

Programas são principalmente conjuntos de chamadas de métodos, que são nada mais que listas de ordens simples dadas à máquina. É muito semelhante a uma receita dizendo Derreta os pedaços de chocolate, adicione açucar, mexa e sirva. Em seus programas, tais instruções são chamadas funções ou métodos, e você deve acrescentar parêntesis para invocá-las:

    nomeDoMétodo()

[!thelang] precisa das instruções separadas por ponto-e-vírgula (;)[!python|scala] ou por quebra de linhas[/!]. O exemplo anterior poderia ter sido escrito da seguinte forma[!python|scala] (você também pode adicionar ponto-e-vírgula no final das linhas, mas isto não é obrigatório)[/!].

    derretaOsPedaçosDeChocolate()[!java|c];[/!]
    adicioneAçucar()[!java|c];[/!]
    mexa()[!java|c];[/!]
    sirva()[!java|c];[/!]

[!python|scala]

Também pode ser escrito da seguinte forma, mas geralmente isto é considerado como uma prática ruim para agrupar várias instruções na mesma linha já que prejudica muito a legibilidade.

    derretaOsPedaçosDeChocolate(); adicioneAçucar(); mexa(); sirva()

[/!]

Obviamente, estes métodos específicos não existem por padrão em [!thelang], mas é possível definí-los você mesmo (vamos ver mais tarde como definir seus próprios métodos).

Por enquanto, vamos ficar apenas com as instruções do buggle. Existe um método para cada botão do painel de controle interativo. Para alcançar o mesmo efeito que o botão avançar (fazendo o buggle avançar um passo), você precisa escrever o seguinte no editor:

    [!java|scala|python]avançar()[!java];[/!][/!][!c]avançarUmPasso();[/!]

Da mesma forma, para obter o mesmo efeito que os botões [!java|scala|python]recuar[/!][!c]recuarUmPasso[/!], esquerda e direita, você precisa respectivamente:

    recuar()[!java|c];[/!]
    esquerda()[!java|c];[/!]
    direita()[!java|c];[/!]

O botão marcar é diferente, pois corresponde a dois métodos: o primeiro move a caneta para cima e o segundo move a caneta para baixo.

    levantarPincel()[!java|c];[/!]
    abaixarPincel()[!java|c];[/!]

O buggle tem outros métodos, que estão no menu "Ajuda/sobre este mundo" e serão introduzidos quando forem necessários.

### Objetivo do exercício

nosso segundo programa será um pouco mais complicado, mas não muito. O objetivo é que seu buggle simplesmente desenhe uma casa (um quadrado), e se esconda dentro. Verifique o mundo objetivo para ver exatamente o que isto significa.

Use seu pincel para marcar o chão à medida em que anda. Comece a marcar o chão com `brushDown()`, e pare com `brushUp()` (e.g., para entrar na sua casa sem marcar o chão). A lista completa de todas as instruções que o buggle entende pode ser encontrada em "Ajuda/Sobre este mundo".

### Depois deste exercício

Quando for para o próximo exercício, observe que existe um sub-exercício depois deste. Por padrão, ele fica escondido no menu e você tem que abrir o sub-menu para vê-lo. Quando você troca de exercício, a maioria dos exercícios fica escondida por que a árvore está recolhida, como segue:

Você tem que clicar no pequeno símbolo a esquerda do buggle para expandir a árvore, como segue: