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.
Para completar este exercício, tens de criar o tipo de dados Robot
e implementar as seguintes funções:
bearingcoordinatesmkRobotmoveVais encontrar uma declaração de dados de exemplo e assinaturas de tipos já no lugar, mas cabe-te a ti definir as funções e criar um tipo de dados, um newtype ou um sinónimo de tipo que faça sentido.
Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.