این سوال از ما می خواهد یک لانه در مرکز جهان ایجاد کنیم
نزدیک ریشه ی نه پتچ، می خواهیم آن لانه را نارنجی کنیم
خب پس اجازه دهید به کد بریم و اول از همه یک متغیر جدید "لاک پشت" اضافه کنیم
در خط اول شامل turtles-own، در داخل براکت بنویسید "return-to-nest"
علامت سوال
سپس یک متغیر پچ جدید ایجاد میکنیم
بنابراین، بنویسید patches-on براکت nest علامت سوال، براکت بسته
حالا نیاز به اضافه کردن چند خط به پروسیجر setup داریم
بنابراین در دستور ask turtles عبارت set return-to-nest رو غلط قرار بدید
اگر ما این کار رو انجام ندیم،نت لوگو به طور پیشفرض هر متغیر جدیدی رو برابر با درست قرار میده
خب یک خط جدید اضافه میکنم تا یک پروسیجر جدید بنویسم و اون رو set-up-nest صدا میزنم
برای اضافه کردن این پروسیجر با to شروع میکنیم
set-up-nest
و پس از آن ask-patches که محتویات پچ رو مشخص میکنه
متغیر nest صحیح قرار دهید، هر زمان که یک پچ در فاصله ی دو از ریشه قرار گرفت
بنویسید distance کمتز از 2
و در خط بعدی، و اگر پچ همچین شرایطی رو داشت
"pcolor" رو تنظیم می کنیم تا نارنجی باشه
براکت بسته
و همیشه پروسیجر رو با end تموم کنید
بیایید ببینیم که آیا کار می کند
هیچ براکت بسته ای برای این براکت باز وجود ندارد، بنابراین من یک براکت رو فراموش کردم
بیایید ببینیم که آیا کار می کند، به نظر خوبه
به رابط گرافیکی برمیگردیم ، دکمه setup رو بزنید و شما می توانید ببینید
گفتنش سخته،که نه پچ اینجا وجود داره اما گمان می کنم آنها هستند
در حال حاضر ما یک لانه نارنچی در مرکز جهان داریم
پس از این از ما میخواد تا کدی بنویسیم که مورچه ها به خانه برگردند
بعد از خوردن غذا و قبل از شروع مجدد
راه های بسیاری برای انجام این کار وجود داره
روشی که من انجام میدم به این شکل هست
نخست من می خواهم پروسیجر "go" رو کمی ساده تر کنم
بنابراین می خوام یک پروسیجر جدید بسازم
و اون رو در جستجوی غذا بذارم / "look for food"
این بخش رو می برم، یک پروسیجر جدید می نویسم و اون رو پیس می کنم اینجا
و حالا به پروسیجر go بر میگردم
اگر return-to-nest نادرست بود
سپس به دنبال مواد غذایی بگرد / "look-for-food"
و البته در صورتی که return-to-nest صحیح بود،
به لانه برمیگردیم
هنوز پروسیجر return-to-nest رو ننوشتم
بنابراین در قدم بعدی اون رو می نویسم
قبل از اینکه این کار رو انجام بدم،بررسی کد ایده ی خوبی میتونه باشه
بنابراین دکمه "check" رو میزنم
و به ما اعلام میکند که پروسیجر "return-to-nest" رو نداریم
همچنین متوجه شدم که علامت مساوی رو فراموش کردم، بعد از این خط اون رو می نویسم
و بعد نوشتن پروسیجر return-to-nest رو ادامه میدم
برای همین فقط خیلی ساده می نویسم face "پچ 0 0" که خانه است
یکی برو جلو/ "FD 1"
و این هر مورچه ای که متغیر return-to-nest اش صحیح بود رو میگیره تا به خانه ببره
و یک خانه به اون سمت حرکت کنه
سپس ما می خواهیم بهش بگیم
بنابراین اگر رنگ پچ نارنجی است، به معنی بازگشت مورچه به لانه است
return-to-nest رو نادرست میذاریم چونکه در حال حاضر همونجاست
براکت بسته
تا کنون ما هیچ مورچه که return-to-nest آن برابر صحیح باشد نداشتیم
پس معلومه باید اون رو انجام بدیم
بعد از خوردن غذا return-to-nest رو برابر صحیح قرار میدیم
کد رو بررسی میکنم
به نظر خوبه
به رابط گرافیکی میریم، بر روی "setup" و بعد "go" کلیک میکنم
مورچه های زیادی وجود دارند و دیدن اینکه چیکار میکنن سخت است
بنابراین بذارید تعداد مورچه ها رو کاهش بدیم
و دوباره سعی کنیم
ما کمی سرعت رو کمتر کنیم
احتمالا میبینید که مورچه ها آن گونه که باید رفتار میکنند
غذا میخورن و قبل از شروع دوباره به خونه برمیگردن
می توانیم رنگ رو قرمز تغییر بدیم، که موضوع رو برامون روشن تر کنه اما اون رو برای بعد بگذارید