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 سال سابقه فعالیت در ایران

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

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

ماژول نمایشگر OLED

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

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

ماژول ADS1115 مبدل آنالوگ به دیجیتال

ماژول ADS1115 مبدل آنالوگ به ديجيتال قبل از خواندن مقاله ماژول ADS1115 مبدل آنالوگ به ديجيتال بهتر است در نظر داشته باشید مقالاتی که با

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

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