فهرست عناوین

موضوع قبلی

6. خلاصه

موضوع بعدی

8. رساندن روزنامه

7. معرفی تکلیف‌ها

همان‌طور که قبلاً اشاره شد، شما با دنبال کردن این درس‌ها و به کار زدن ریبرگ برای انجام یک سری کار برنامه‌نویسی را یاد خواهید گرفت. برای این که در مورد تکلیف خاصّی اطّلاعات بیشتری به دست بیاورید، می‌توانید روی دکمهٔ اطّلاعات محیط کلیک کنید تا یک سری اطّلاعات دربارهٔ آن تکلیف به شما نشان داده شود. کلیک چندباره روی دکمه‌، پنچرهٔ اطّلاعات را نشان می‌دهد و یا پهنان می‌کند.

تکلیف‌ها به ۲ گروه مجزّا تقسیم می‌شوند:

  • ثابت: اگر ریبرگ و همهٔ اشیاء محیط ریبرگ شامل دیوارها و نشانگر نقطهٔ نهایی همیشه همان‌های قبلی باشند، تکلیف ثابت است.

  • متغیّر: اگر با هر بار بارگذاری و یا اجرای برنامه، محیط ظاهر متفاوتی داشته باشد، تکلیف‌ها متغیّر هستند.

فعلاً به اندازهٔ کافی برای نوشتن تکالیف متغیّر نمی‌دانید. وقتی که روش‌های لازم برای نوشتن برنامه‌هایی برای تکالیف متغیّر را یاد بگیرید؛ خواهید دید که آن‌ها این امکان را در اختیار ما می‌گذارند که بشود برنامه‌های کوتاه‌تری را برای حلّ تکلیف‌های ثابت نوشت.

تکالیف ثابت این‌ها هستند:

  • خانه ۱, ۲, ۳, ۴

  • دور و بر ۱, ۲, ۳, ۴

  • فصل برداشت ۱

  • دو با مانع ۱

  • روزنامه رسانی ۰

  • طوفان ۰

  • نشانه‌ها ۱, ۲, ۳, ۴, ۵

یک تکلیف ثابتِ دیگر هم به اسم روزنامه رسانی ۱ هست. ولی باید قبل از این که بتوانید برنامه‌ای بنویسید که به ریبرگ این قابلیّت را می‌دهد که تکالیف را به سادگی به سرانجام برساند؛ اوّل چیزهایی را یاد بگیرید که به آن نشاوند (argument) تابع می‌گویند.

بهتر است تلاش کنید دست کم برای چندتایی از این تکالیف برنامه بنویسید.

همان طور که برنامهٔتان را می‌نویسید -که هر کدامشان شامل دستورهای خاصّی هستند- این امکان را دارید که همهٔ محیط را یک جا ببینید. برای نوشتن برنامه بهتر است این طور شروع کنید که ریبرگ - که فقط خط‌کشی‌های مربّعی جایی که هست را می‌بیند - چطور می‌تواند از سرنخ‌ها استفاده کند تا حرکت بعدیش را تشخیص بدهد. این طرز فکر بعداً مفید خواهد بود.

7.1. اطّلاعات مهم دربارهٔ ذخیرهٔ کار

با استفاده از چیزی که با عنوان ذخیره محلّی شناخته می‌شود، محیط ریبرگ آخرین برنامه‌ای را که توی یک مرورگر خاص روی آن کار می‌کردید (فایرفاکس یا کروم) را یادش نگه می‌دارد. با این همه شاید ذخیرهٔ برنامه‌ها روی رایانه شخصی یا حافظه جانبی برایتان مفید باشد. می‌توانید این کار را با کلیک روی دکمه‌ای که با تصویر image مشخّص شده انجام بدهید.

اگر برنامهٔتان را ذخیره کردید؛ باید یادداشت کنید که برای کدام محیط طرّاحی شده. برای این کار می‌توانید از یادداشت‌های داخل کد استفاده کنید:

#راه حل برای محیط خانه ۱
move()
move()

برای مدرّس‌ها

اگر از قبل چگونگی استفاده از نشانوند (argument) تابع را توضیح داده‌اید، شاید بد نباشد استفاده از تابع ()World را به جای استفاده از یادداشت‌ها پیشنهاد بدهید:

World("Home 1")
move()
move()

اگر محیطی که در حال حاضر نشان داده می‌شود خانه ۱ نیست؛ اجرای این برنامه منجر به تغییر محیط انتخاب شده به خانه ۱ می‌شود و بقیّهٔ برنامه نادیده گرفته می‌شود. اجرای آن برای بار دوم (یعنی موقعی که محیط ریبرگ، همان محیط مورد نظر که خونه ۱ هست) تابع ()World نادیده گرفته می‌شود و بقیّهٔ برنامه اجرا می‌شود.

به جای استفاده از محیط‌های پیش فرض ما می‌توانید با داشتن نشانی اینترنتی، از فایل محیطی که در فضای وب باشد هم استفاده کنید؛ چه روی رایانهٔ گارگزار(server) خودتان باشد، چه در یک انبارهٔ عمومی بر خط (public repository) مثل وبگاه pastbin باشد. مثلاً شما ممکن است بخواهید این کار را انجام بدهید:

World("http://personnel.usainteanne.ca/aroberge/reeborg/token.json",
      "Token test")
move()
move()
take()

اجرای این برنامه می‌بایست یک محیط دیگر به انتخاب‌های شما اضافه کند. توجّه داشته باشید که نشانوند (انتخابی) دوم تابع World در صورت وجود، به عنوان اسم محیط در فهرست انتخاب محیط‌ها ظاهر و استفاده می‌شود.