Escribe un simulador de robots.
El centro de pruebas de una fábrica de robots necesita un programa para verificar los movimientos de los robots.
Los robots tienen tres movimientos posibles:
Los robots se colocan en una cuadrícula infinita hipotética, mirando en una dirección concreta (north, east, south o west) en un conjunto de coordenadas {x,y}, por ejemplo, {3,8}, con las coordenadas aumentando hacia el norte y el este.
El robot recibe entonces una serie de instrucciones, momento en el que el centro de pruebas verifica su nueva posición y hacia dónde apunta.
En este ejercicio, es posible que hayas observado que el stub define getters, como getX(), pero las pruebas acceden al valor directamente como .x. Esto se debe a cómo Groovy define las propiedades. Vamos a desglosarlo:
Puntos clave sobre las propiedades de Groovy:
final).En este ejercicio, solo hemos especificado los getters necesarios (y, por tanto, las propiedades según lo anterior) para garantizar una implementación correcta. Eres libre de decidir qué campos (y sus tipos) son los más adecuados para tu solución.
Si quieres profundizar en el tema de los campos y las propiedades, consulta el capítulo 3.3. Campos y propiedades de la documentación de Groovy.
Regístrate en Exercism para aprender y dominar Groovy con 66 ejercicios y mentoría humana real, todo gratis.