Escreve um simulador de robôs.
O centro de testes de uma fábrica de robôs precisa de um programa para verificar os movimentos dos robôs.
Os robôs têm três movimentos possíveis:
Os robôs são colocados numa grelha infinita hipotética, virados para uma direção específica (north, east, south ou west), num conjunto de coordenadas {x,y}, por exemplo, {3,8}, com as coordenadas a aumentar para north e east.
Depois, o robô recebe várias instruções e, nesse momento, o centro de testes verifica a nova posição do robô e a direção para a qual está virado.
Neste exercício, deves ter reparado que o stub define getters, como getX(), mas os testes acedem ao valor diretamente como .x. Isto deve-se à forma como o Groovy define as propriedades. Vamos por partes:
Pontos-chave sobre as propriedades do Groovy:
final).Neste exercício, especificámos apenas os getters necessários (e, por conseguinte, as propriedades, como explicado acima) para garantir uma implementação correta. És livre de decidir que campos (e os respetivos tipos) são mais adequados para a tua solução.
Se quiseres explorar melhor o tema dos campos e das propriedades, consulta o Capítulo 3.3. Fields and Properties na documentação do Groovy.
Inscreve-te no Exercism para aprenderes e dominares Groovy com 66 exercícios, e mentoria humana real, tudo grátis.