Ex. 02 - Fuga do gato
Este exercício é baseado no programa SelfAvoidingWalker.java visto na lição CS.03.Arrays.
Um gato está no centro de uma cidade modelada como um grid N x N, onde N é o primeiro argumento passado como entrada (args[0]). O gato não pode ir para uma posição que já visitou. Para se movimentar, o gato realiza um passo de cada vez, podendo ir para cima, para direita, para esquerda ou para baixo aleatoriamente, dentre as possíveis que não visitou ainda.
Se em algum momento o gato estiver em um ponto no qual já passou pelas 4 vizinhanças, então o gato chega a um beco sem saída.
Se o gato alcançar alguma borda da cidade, então o gato escapa.
Seu programa deve simular o processo acima um total de T vezes, onde T é o segundo argumento passado como entrada (args[1]). Para cada uma das T simulações, seu programa deve imprimir quantos passos o gato realizou, precisamente no formato descrito nos exemplos de execução abaixo. Ademais, você deve imprimir a porcentagem de simulações em que o gato ficou sem saída, também como no formato descrito abaixo.
Parte gráfica: Seu programa deve imprimir o grid e o caminho percorrido pelo gato, limpando a tela a cada simulação. O grid deve obrigatoriamente ter a cor cinza e o caminho percorrido pelo gato deve obrigatoriamente ter a cor azul. A figura Exemplo-gato.png mostra um exemplo de como o grid e o caminho devem ser.
$ java-introcs SelfAvoidingWalkerGraphic 50 10 --------------------------------------- Simulação --- quantidade de passos --------------------------------------- 0 --- 35 1 --- 31 2 --- 59 3 --- 78 4 --- 13 5 --- 64 6 --- 145 7 --- 66 8 --- 38 9 --- 27 --------------------------------------- O gato ficou sem saída 80% das vezes ---------------------------------------
$ java-introcs SelfAvoidingWalkerGraphic 35 8 --------------------------------------- Simulação --- quantidade de passos --------------------------------------- 0 --- 41 1 --- 67 2 --- 63 3 --- 56 4 --- 46 5 --- 90 6 --- 42 7 --- 47 --------------------------------------- O gato ficou sem saída 87% das vezes ---------------------------------------
$ java-introcs SelfAvoidingWalkerGraphic 100 3 --------------------------------------- Simulação --- quantidade de passos --------------------------------------- 0 --- 35 1 --- 61 2 --- 109 --------------------------------------- O gato ficou sem saída 100% das vezes ---------------------------------------
Naturalmente, suas saídas poderão ser numericamente diferentes, mas o formato deve ser exatamente como acima.
- 14 de septiembre de 2020, 22:04
- 14 de septiembre de 2020, 22:04