یک شبیهساز ربات بنویسید.
مرکز آزمایش یک کارخانهی ربات به برنامهای نیاز دارد که حرکات ربات را بررسی کند.
رباتها سه حرکت ممکن دارند:
رباتها روی یک شبکهی بینهایت فرضی قرار میگیرند، رو به جهت خاصی (شمال، شرق، جنوب یا غرب)، در مجموعهای از مختصات {x,y}، مثلاً {3,8}، که مختصات به سمت شمال و شرق افزایش مییابد.
سپس ربات تعدادی دستور دریافت میکند و در این مرحله، مرکز آزمایش موقعیت جدید ربات و جهتی را که رو به آن است بررسی میکند.
یک «تاپل» به اسم robot با خانههای x، y و direction تعریف کنید. خانهی direction یکی از نمادهای north، east، south یا west را نگه میدارد (که در واژگان این تمرین تعریف شدهاند).
<robot> ( x y direction -- robot ): یک ربات میسازد.move ( robot instructions -- robot ): رشتهای از دستورهای R، L و A را اعمال میکند و ربات بهروزرسانیشده را برمیگرداند.