Γράψε έναν προσομοιωτή ρομπότ.
Οι εγκαταστάσεις δοκιμών ενός εργοστασίου ρομπότ χρειάζονται ένα πρόγραμμα για να επαληθεύουν τις κινήσεις των ρομπότ.
Τα ρομπότ έχουν τρεις δυνατές κινήσεις:
Τα ρομπότ τοποθετούνται σε ένα υποθετικό άπειρο πλέγμα, κοιτώντας προς μια συγκεκριμένη κατεύθυνση (βόρεια, ανατολικά, νότια ή δυτικά) και βρίσκονται σε ένα σύνολο συντεταγμένων {x,y}, π.χ. {3,8}, με τις συντεταγμένες να αυξάνονται προς τα βόρεια και τα ανατολικά.
Στη συνέχεια το ρομπότ λαμβάνει έναν αριθμό εντολών, και τότε οι εγκαταστάσεις δοκιμών επαληθεύουν τη νέα θέση του ρομπότ και προς τα πού δείχνει.
Για να ολοκληρώσεις αυτή την άσκηση, πρέπει να δημιουργήσεις τον τύπο δεδομένων Robot
και να υλοποιήσεις τις παρακάτω συναρτήσεις:
bearingcoordinatesmkRobotmoveΘα βρεις ήδη στη θέση τους μια δήλωση εικονικών δεδομένων και τις υπογραφές τύπων, αλλά εξαρτάται από εσένα να ορίσεις τις συναρτήσεις και να δημιουργήσεις έναν τύπο δεδομένων που να έχει νόημα, ένα newtype ή έναν συνώνυμο τύπο.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.