🤠JavaRancho
Manual do Boy — API do robodigite robo. no editor e a lista aparece
ComandoRetornoO que faz
robo.andar()voidAnda uma casa para frente. Bater na parede quebra o programa.
robo.virarDireita()voidGira 90 graus para a direita, sem sair da casa.
robo.virarEsquerda()voidGira 90 graus para a esquerda.
robo.pegar()voidPega a moeda da casa atual e guarda na mochila.
robo.soltar()voidSolta uma moeda da mochila na casa atual.
robo.pintar()voidPinta a casa atual.
robo.falar(String texto)voidMostra um balao de fala e escreve no console.
robo.podeAndar()booleantrue se a casa da frente esta livre.
robo.temParede()booleanO contrario de podeAndar().
robo.paredeDireita()booleantrue se ha parede a direita do robo.
robo.paredeEsquerda()booleantrue se ha parede a esquerda do robo.
robo.temMoeda()booleantrue se ha moeda na casa atual.
robo.naBandeira()booleantrue se o robo esta em cima da bandeira.
robo.precisaPintar()booleantrue se a casa e marcada e ainda nao foi pintada.
robo.moedas()intQuantas moedas ha na mochila.
robo.linha()intLinha (y) onde o robo esta.
robo.coluna()intColuna (x) onde o robo esta.
Classe e metodo main
public class Fase1 {
    public static void main(String[] args) {
        robo.andar();
    }
}

Todo programa Java comeca no metodo main. O que estiver entre as chaves do main roda de cima para baixo.

Variaveis
int passos = 0;
boolean achei = false;
String nome = "Boy";
passos = passos + 1;   // ou passos++

Toda variavel tem um tipo. int guarda inteiros, boolean guarda true/false, String guarda texto.

Repeticao
for (int i = 0; i < 5; i++) {
    robo.andar();
}

while (robo.podeAndar()) {
    robo.andar();
}

Use for quando souber quantas vezes repetir; use while quando depender de uma condicao.

Decisao
if (robo.temMoeda()) {
    robo.pegar();
} else if (robo.podeAndar()) {
    robo.andar();
} else {
    robo.virarDireita();
}

Compare com == != < > <= >=; combine com && (e), || (ou) e ! (nao).

Metodos
static void andarVezes(int passos) {
    for (int i = 0; i < passos; i++) {
        robo.andar();
    }
}

// no main:
andarVezes(3);

Metodo e um pedaco de codigo com nome. Parametros deixam o metodo reutilizavel.

Arrays
int[] distancias = {2, 4, 1};
for (int i = 0; i < distancias.length; i++) {
    System.out.println(distancias[i]);
}

Array guarda varios valores. O primeiro indice e 0 e o ultimo e length - 1.

O que este Java entende
O jogo usa um interpretador de Java feito para ensinar: ele aceita classes, metodos com parametros e retorno, variaveis (int, double, boolean, String, char), arrays, if / else if / else, for, for-each, while, do-while, break, continue, operadores aritmeticos e logicos, System.out.println, alguns metodos de String (length, charAt, substring, equals, contains, toUpperCase...) e de Math (abs, max, min, sqrt, pow, random). Nao ha bibliotecas externas, herança nem criacao de objetos com new — o objeto robo ja vem pronto.