پروژه چرخش حروف با کلیک در اسکرچ – آشنایی با مفهوم حلقه ها در برنامه نویسی

در این قسمت، مجموعه آموزشی اسکرچ را با پروژه چرخش حروف هنگام کلیک روی آن‌ها ادامه می‌دهیم. به علاوه با مفهوم حلقه ها در برنامه نویسی و نحوه چرخش شکلک ها با کمک قطعه‌های “تکرار کن …” و “بچرخ … درجه” آشنا می‌شوید.

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

هدف پروژه

در این پروژه حروف نام خود را تک به تک در قالب شکلک به پروژه اضافه می‌کنیم. سپس با قرار دادن قطعات مناسب در ناحیه کد هر شکلک کاری می‌کنیم که هنگام کلیک روی حروف، حرف کلیک شده مقداری بچرخد. برای این کار از نوعی حلقه در اسکرچ کمک می‌گیریم تا حالتی مشابه یک پویانمایی (یا انیمیشن) در هنگام چرخش حروف به وجود بیاید.

آشنایی با مفهوم حلقه ها به زبان ساده

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

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

فرض کنید با فردی دوست شده‌اید که برای مدت‌ها به تنهایی در یک جنگل زندگی کرده و با مراحل خوردن غذا به شکل امروزی آشنا نیست. باز هم فرض کنید این دوست تازه به طرز شگفت‌آوری خواندن را یاد گرفته است :). اگر قرار باشد مراحل خوردن غذا را برای او بنویسید چگونه این کار را انجام می‌دهید؟

آیا لازم است مراحل یا اعمال تکراری گفته شده را چند بار روی کاغذ بنویسید؟ برای مثال بهتر است فقط یک بار بنویسید “40 مرتبه غذای داخل دهانت را بجو” یا ترجیح می‌دهید 40 بار بنویسید “غذای داخل دهانت را بجو“؟! فکر می‌کنم پاسخ شما هم با نظر من یکسان است. نوشتن جمله اول آن هم یک بار بسیار آسان‌تر از نوشتن 40 مرتبه‌ای جمله دوم خواهد بود. جمله اول را می‌توانید به صورت زیر هم بنویسید:

– 40 مرتبه جویدن غذای داخل دهانت را تکرار کن.

اما اگر تعداد تکرار اعمال را نتوانید مشخص کنید وضعیت اندکی با این حالت متفاوت خواهد بود. برای مثال نمی‌توانید مشابه با حالت قبل 10 بار بنویسید “مقداری خورش و برنج را با کمک قاشق از داخل بشقاب بردار، قاشق را به سمت دهان بالا بیاور و …”. چرا که ممکن است با انجام این کار به تعداد 10 مرتبه، بشقاب غذای دوستتان خالی نشود. اگر هم 20 بار این جمله را بنویسید ممکن است دفعات آخر غذایی برای برداشتن در بشقاب وجود نداشته باشد. بنابراین بهتر است بنویسید “مراحل خوردن غذا را تا خالی شدن بشقاب (یا تا زمانی که سیر شوی) تکرار کن“.

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

بیشتر بخوانید: حلقه یا Loop چیست؟

مراحل پروژه چرخش حروف با کلیک روی آن‌ها در اسکرچ

مشابه با پروژه تغییر رنگ حروف، یک پروژه جدید بسازید و شکلک های مربوط به حروف نام خود را به پروژه اضافه کنید.

پس از انجام این کار نوبت قرار دادن قطعه های مناسب در ناحیه کد شکلک‌هاست. مطمئن شوید شکلک حرف اول در بخش شکلک‌ها انتخاب شده است. حالا قطعه “وقتی این شکلک کلیک شد” را از پالت قطعه‌ها به ناحیه کد شکلک منتقل کنید. همانطور که در پروژه قبلی دیدید این قطعه را می‌توانید در دسته “رویدادها” پیدا کنید.

قطعه وقتی این شکلک کلیک شد در ناحیه کد شکلک در اسکرچ

قطعه تکرار کن برای ایجاد حلقه در اسکرچ

در این مرحله می‌خواهیم قطعه مربوط به حلقه را به ناحیه کد شکلک اضافه کنیم. در اسکرچ قطعه‌های متنوعی برای ایجاد حلقه های مختلف در نظر گرفته شده است. قطعه “تکرار کن …” یکی از این قطعه‌هاست که امکان ایجاد حلقه و تکرار دستورات براساس تعداد تکرار را در اسکرچ فراهم می‌کند. این قطعه را از دسته‌بندی “کنترل” پیدا کنید و مشابه با تصویر زیر به قطعه قبلی وصل کنید. تعداد تکرار حلقه توسط بخش قابل تغییر این قطعه (که در تصویر با عدد 10 پر شده است) مشخص می‌شود.

اضافه کردن قطعه تکرار کن برای ایجاد حلقه در اسکرچ

همانطور که مشاهده می‌کنید قطعه “تکرار کن …” شکلی مشابه با یک دهان باز دارد. قطعه‌هایی از این دست می‌توانند قطعه‌های دیگر را بین قسمت ابتدا و انتهای خود نگه دارند. قطعه‌هایی که در بخش میانی قطعه “تکرار کن …” قرار می‌گیرند بدنه حلقه یا همان اعمالی را مشخص می‌کنند که قرار است توسط حلقه تکرار شوند. به این ترتیب قطعه “تکرار کن 10” دستورات یا قطعه‌های میانی خود را 10 مرتبه تکرار می‌کند.

قطعه‌های بچرخ

حالا نوبت به چرخاندن شکلک حرف‌هاست. این کار با کمک دو قطعه “بچرخ … درجه” قابل انجام است. این قطعه‌ها را می‌توانید در دسته “حرکت” پیدا کنید. یکی از این قطعه‌ها برای چرخاندن در جهت حرکت عقربه‌های ساعت و دیگری برای چرخاندن در عکس این جهت به کار می‌رود. جهت چرخش روی قطعه‌ها با کمک یک فلش خمیده مشخص شده است.

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

میزان چرخش در این دو قطعه براساس درجه با کمک مقدار قابل تغییر (که در تصویر با عدد 15 پر شده) مشخص می‌شود. به این ترتیب دو قطعه “بچرخ 15 درجه” برای چرخاندن به اندازه 15 درجه در جهت مشخص شده به کار می‌روند.

بدون انتقال این دو قطعه به ناحیه کد روی هرکدام از آن‌ها در پالت قطعه‌ها چند بار کلیک کنید تا نتیجه چرخش حرف را روی ناحیه صحنه مشاهده کنید. برای برگرداندن شکلک به حالت اولیه روی قطعه “در جهت 90 قرار بگیر” در پالت قطعه‌ها کلیک کنید.

نتیجه کلیک روی قطعه بچرخ برای شکلک حرف A
نتیجه کلیک روی یکی از قطعه‌های بچرخ. شکلک حرف A به اندازه 15 درجه در جهت حرکت عقربه‌های ساعت چرخیده است.
قطعه در جهت 90 قرار بگیر برای برگرداندن شکلک به حالت اولیه
با کلیک روی قطعه “در جهت 90 قرار بگیر” در پالت قطعه‌ها می‌توانید شکلک را به حالت اولیه برگردانید.

حالا قطعه مربوط به چرخش در جهت حرکت عقربه‌های ساعت را مشابه با تصویر زیر به ناحیه کد شکلک منتقل کنید به طوری که قطعه چرخش در بخش میانی قطعه “تکرار کن 10” قرار بگیرد. سپس میزان چرخش را به 18 درجه تغییر دهید. با انجام این کار شکلک 10 مرتبه و هر بار به اندازه 18 درجه (مجموعا 10*18=180 درجه) در جهت حرکت عقربه‌های ساعت می‌چرخد. این چرخش به شکل یک انیمیشن ساده و سریع انجام خواهد شد و فاصله چندانی میان هر بار چرخش احساس نخواهید کرد. این درحالیست که اگر برای چرخاندن شکلک از حلقه استفاده نکنید و به طور مستقیم میزان چرخش را 180 درجه تعیین کنید حرف A به یکباره و بدون حالت انیمیشن‌گونه 180 درجه می‌چرخد.

افزودن قطعه بچرخ برای چرخاندن شکلک در اسکرچ

امتحان کنید!

حالا روی شکلک حرف اول در ناحیه صحنه کلیک کنید. نتیجه “10 مرتبه چرخش شکلک، هر بار به اندازه 18 درجه” چیزی مشابه با تصویر زیر خواهد بود. به عبارت بهتر حرف A مجموعا 180 درجه چرخیده است. با کلیک مجدد روی حرف A، بار دیگر این حرف به اندازه 180 درجه (10 بار، هر بار به اندازه 18 درجه) در همین جهت خواهد چرخید و به موقعیت اولیه برمی‌گردد. البته برای برگرداندن شکلک به حالت اولیه می‌توانید هنگامی که شکلک حرف در بخش شکلک‌ها انتخاب شده روی قطعه “در جهت 90 قرار بگیر” کلیک کنید.

نتیجه 10 مرتبه چرخش هر بار به اندازه 18 درجه برای شکلک حرف A
نتیجه کلیک روی شکلک حرف A که باعث 10 مرتبه چرخش، هر بار به اندازه 18 درجه (مجموعا 180 درجه) شده است.

انجام مراحل فوق برای سایر حروف نام

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

در پایان روی هرکدام از حروف در ناحیه صحنه چند بار کلیک کنید. به این ترتیب با هر کلیکی که روی حروف می‌کنید حرف کلیک شده خواهد چرخید.

نتیجه یک بار کلیک روی تمام حروف نام
نتیجه یک بار کلیک روی تمام حروف نام

در ویدئوی زیر می‌توانید نتیجه نهایی این پروژه را مشاهده کنید.

تمرین: دستکاری پروژه چرخش حروف

همانطور که گفته شد قطعه‌های “تکرار کن …” و “بچرخ … درجه” امکان تعیین تعداد تکرار و میزان چرخش را با کمک قسمت قابل تغییر خود فراهم می‌کنند. در پروژه چرخش حروف، تعداد تکرار برابر با 10 و میزان چرخش در هر مرتبه 18 درجه انتخاب شد.

به عنوان تمرین پیشنهاد می‌کنیم این قطعه‌ها را با مقادیر مختلف امتحان کنید و نتیجه را روی ناحیه صحنه مشاهده کنید. میزان چرخش در هر مرتبه را روی 9 درجه تنظیم کنید و روی شکلک حرف کلیک کنید. در چرخش حرف چه تغییری رخ می‌دهد؟ آیا می‌توانید با تعداد کلیک کردن‌های مختلف روی هر حرف به نتیجه موجود در تصویر زیر برسید؟

پروژه چرخش حروف در اسکرچ

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

خوشحال می‌شویم سوال یا نظر خودتان را در مورد این پروژه در بخش دیدگاه‌های همین مطلب برای ما بنویسید.

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

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