Professional Documents
Culture Documents
1. Identifique em qual classe Java (ou quais classes) está a codificação que inicializa o Jogo da
Vida com a geração randômica de células vivas e mortas no grid (na tabela). Identifique em qual
trecho do código é feita esta implementação, e explique linha por linha do código-fonte.
O trecho do código que que inicializa a grade com células vivas ou mortas aleatoriamente está
na classe Automata.java. O trecho em que está esta codificação é este:
2. Identifique em qual classe Java (ou quais classes) está a codificação que faz a passagem de uma
interação do autômato celular para outra interação. Identifique em qual trecho do código é feita a
passagem de uma interação para outra, e explique linha por linha do código-fonte. OBS: esta
passagem deve ter um comando de repetição, e este é o loop principal do Jogo da Vida.
A passagem de uma iteração para outra é feita por duas classes, Automata.java e
MainController.java. Na primeira, o trecho de interesse é este:
Neste trecho do código, a função evolve recebe a quantidade de vizinhos vivos de cada célula,
de forma sucessiva. Se a célula estiver viva, ou seja, com valor binário verdadeiro, ele
compara o número de vizinhos com as regras de sobrevivência e atualiza o valor futuro desta
célula em um clone da grade. Se a célula estiver morta, ou seja, com valor binário falso, ele
comprara o número de vizinhos com as regras de nascimento e atualiza o valor futuro desta
célula em um clone da grade. Por fim, a função atualiza todos os valores da grade com os
valores armazenados no clone (realiza a iteração).
Já na classe MainController.java, o trecho de interesse é este:
Este trecho é basicamente um loop infinito que chama a função evolve da classe
Automata.java e continuamente atualiza os valores da grade com os valores do clone criado.
3. Identifique em qual classe Java (ou quais classes) está a codificação com as regras para definir
quando uma célula irá morrer, quando uma célula irá sobreviver ou quando uma célula irá nascer.
Identifique em qual trecho do código é feita esta implementação, e explique linha por linha do
código-fonte.
Este trecho mostra três Strings, uma com o nome do conjunto de regras, uma com o número
de vizinhos que permite a uma célula sobreviver e outra com o número de vizinhos que
permite que uma célula nasça. Por padrão, as regras do jogo são as primeiras das Strings, ou
seja, a do Jogo da Vida de Conway..