یک شبیهساز ربات بنویسید.
مرکز آزمایش یک کارخانهی ربات به برنامهای نیاز دارد که حرکات ربات را بررسی کند.
رباتها سه حرکت ممکن دارند:
رباتها روی یک شبکهی بینهایت فرضی قرار میگیرند، رو به جهت خاصی (شمال، شرق، جنوب یا غرب)، در مجموعهای از مختصات {x,y}، مثلاً {3,8}، که مختصات به سمت شمال و شرق افزایش مییابد.
سپس ربات تعدادی دستور دریافت میکند و در این مرحله، مرکز آزمایش موقعیت جدید ربات و جهتی را که رو به آن است بررسی میکند.
برای تکمیل این تمرین، باید نوع دادهی Robot را بسازید و توابع زیر را پیادهسازی کنید:
bearingcoordinatesmkRobotmoveیک اعلان دادهی ساختگی و امضاهای نوع از قبل در جای خود قرار دارند، اما این شما هستید که باید توابع را تعریف کنید و یک نوع داده، newtype یا مترادف نوعی بسازید که معنادار باشد.