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

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

Share on facebook
Share on linkedin
Share on twitter
Share on email
آموزش الکترونیک

برقراری ارتباط بین ESP32 ،ESP8266 و NodeMCU

نحوه پیکربندی یک شبکه توری ESP با استفاده از IDE آردوینو – ارتباط درمیان و بین ESP32، ESP8266 و NodeMCU اینترنت اشیا ‏(IoT)‏ در طول

آموزش الکترونیک

پروژه rfid با آردوینو

سیستم مدیریت رویداد بر پایه IoT با استفاده از RFID و ThingSpeak RFID مخفف شناسایی فرکانس رادیویی است، این یک فن‌آوری بسیار ساده و ارزان

آموزش الکترونیک

ساخت ردیاب برای ماشین

ساخت ردیاب مکان GPS بر پایه IOT با استفاده از ماژول NodeMCU و  Save GPS  –  GPS  مختصات و دید بر روی نقشه های گوگل

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

نشانی ایمیل شما منتشر نخواهد شد.