logo-site-sefid
Search
Close this search box.
حلقه repeat until در اسکرچ

حلقه repeat until در اسکرچ

در این بخش میخواهیم یک پروژه ساده را انجام دهیم و یک اسپرایت را به گونه ای برنامه ریزی کنیم که بازدن یکی از کلیدهای روی کیبورد شلیک شود تا با حلقه repeat until در اسکرچ آشنا شویم . برای انجام این پروژه باید گامهای زیر را طی کنیم.

فلوچارت برنامه

قدم اول : استفاده از یک دستور شروع کننده

قدم دوم : تنظیم موقعیت اولیه اسپرایت

قدم سوم : تنظیم جهت اولیه اسپرایت

قدم چهارم : تنظیم جهت شلیک به شمت نشانگر ماوس

قدم پنجم : شلیک تیر با فشردن اسپیس

قدم ششم : توقف تیر هنگام خوردن به دیواره

با توجه به قدم های ذکر شده برنامه اسپرایت خود را مینویسیم. من برای این برنامه اسپرایت زیر را انتخاب کرده ام.

1

برای شروع یک دستور شروع کننده استفاده خواهیم کرد و سپس مکان اولیه تیر را مشخص میکنی. من تیر را در منتعی الیه سمت راست قرار میدهم. برنامه این دو قسمت را در ادامه ملاحظه میکنید.

حال باید کاری کنیم که اسپرایت ما هماره به سمت نشانگر ماوس قرار گیرد تا بتوانیم جهت شلیک را مشخص کنیم. برای این منظور از دستور زیر استفاده میکنیم.

2

3

در واقع این دستور اسپرایت ما را در جهت نشانگر ماوس تنظیم میکند اما برای اینکه این اتفاق همواره بیافتد آن را درون یک حلقه forever قرار می دهیم. برنامه به شکل زیر خواهد شد.

4

اگر برنامه بالا را اجرا کنید خواهد دید که اسپرایت شما همواره در جهت تیر قرا خواهد گرفت. تا اینجا به نظر برنامه درست عمل میکنید. حالا به سراغ مرحله پنجم میرویم. میخواهیم اسپرایت ما با فشردن دکمه اسپرایت شلیک شود. در ابتدا قبل از هر کدی توجه کنید که میخواهیم اسپرایت با فشردن اسپیس شلیک شود. پس از یک دستور شروع کننده که بر اساس کلیدهای کیبورد میباشد استفاده میکنیم. این دستور را در ادامه میبینید.

5

حلقه repeat until در اسکرچ

حالا میخواهیم تیر ما شلیک شود در واقع تیر باید به جلو حرکت کند بنابراین باید از دستور move استفاده کنیم. اما فقط تا وقتی به جلو برود که به دیواره برخورد کند. در اینجا از حلقه شرطی جدید استفاده خواهیک کرد. کمی به عقب تر برگردید گفتم میخواهیم تیر تا وقتیکه به دیواره برخرد کند جلو برود. فکر کنم متوجه شده اید میخواهم از چه حلقه ای استفاده کنم.

6

اما در این حلقه همان طور که میبینید نیاز داریم تا یک شرط تعریف کنیم. در واقع میخواهیم تیر تا وقتیکه به دیوار برخورد کند به جلو برود. برای این شرط از دستور زیر استفاده میکنیم.

7

حالا دستور را کامل میکنیم.

حلقه repeat until در اسکرچ

حالا برنامه را اجرا کنید. آیا برنامه به همان شکلی که انتظار داشتید عمل کرد؟

احتمالا شما هم به یک مشکل برخرد کرده اید در واقع تیر شما به سمت نشانگر ماوس حرکت میکند و وقتی به آن میرسد متوقف میشود. یا اگر نشانگر را حرکت دهید تیر به دنبال آن حرکت میکند. اشکال از کجاست؟

9

به این بخش از برنامه دقت کنید در این بخش ما در حلقه forever گفته ایم که تیر باید همیشه در جهت ماوس قرار بگیرد. در واقع اشکال در همین قسمت است و تیر ما باید فقط تا وقتی که شلیک شود در جهت ماوس باشد و پس از شلیک دیگر در جهت ماوس قرار نگیرد. باز هم عبارت ( تا وقتی که ) را میبینید پس به جای حلقه forever از حلقه repeat until استفاده میکنیم. اما برای شرط آن از چه دستوری استفاده کنیم؟

اشاره کردیم که تیر ما تا وقتی که شلیک شود در جهت ماوس قرار گیرد. تیر چه زمانی شلیک میشود؟

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

10

حالا برنامه را مجدد بازنویسی میکنیم. با انجام این پروژه تعدادی از دستورات اسکرچ را آموختید چنانچه علاقمند به آموزش اسکرچ هستید با ما در تماس باشید.

11

دوباره برنامه را اجرا کنید و نتیجه را ببینید. به نظر همه چیز درست عمل میکند.

 

 

 

 

 

 

رضا قنبری
متخصص آموزش رباتیک

رضا قنبری هستم متخصص آموزش رباتیک با بیش از 10 سال سابقه فعالیت در ایران

این مطلب را به اشتراک بگذارید

ماژول کاهنده

ماژول كاهنده قبل از خواندن مقاله ماژول كاهنده بهتر است در نظر داشته باشید مقالاتی که با عنوان ماژول در سایت قرار گرفته اند از

ماژول تشخیص دود و گاز

ماژول تشخیص دود و گاز قبل از خواندن این مقاله بهتر است در نظر داشته باشید مقالاتی که با عنوان ماژول در سایت قرار گرفته

دسته بندی نشده

ماژول WIFI

ماژول WIFI قبل از خواندن این مقاله بهتر است در نظر داشته باشید مقالاتی که با عنوان ماژول در سایت قرار گرفته اند از مقالات

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *