آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

قسمت 5
5 آموزشی رزبری پای
مشاهده سایر جلسات آموزش
8 بازدید
۱۴۰۴-۱۰-۰۲
11 دقیقه
  • نویسنده: بهاره بهرامی
  • درباره نویسنده: ---

پروژه 2: Synchronised Swimming

در اغلب بازی‌ها از بیش از یک دکمه استفاده می‌شود. در این پروژه قصد داریم با استفاده از کلیدهای و به همین موضوع بپردازیم.

این پروژه برگرفته شده از projects.raspberrypi هست.

به روشی که قبلاً گفته شد، یک پروژه جدید تعریف و با نام Synchronized Swimming ذخیره کنید. در بخش کنترل صحنه (Stage control) کلیک کنید. سپس بر روی تب  Backdrops در سمت چپ و بالا کلیک کنید. پس از آن بر روی دکمه Convert to Bitmap بزنید. از پالت رنگ‌ها/ Fill palette یک رنگ آبی شبیه رنگ آب انتخاب کنید، روی آیکون Fill icon آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming کلیک کنید و سپس بر روی پس‌زمینه شطرنجی کلیک کنید تا رنگ آن به رنگ انتخابی تغییر کند (شکل زیر).

رنگ پس‌زمینه را آبی کنید.

رنگ پس‌زمینه را آبی کنید.

روی اسپرایت گربه کلیک راست کنید و سپس با کلیک بر روی delete آن را حذف کنید. حال روی آیکون آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming Choose a Sprite کلیک کنید تا لیستی از اسپرایت‌ها را ببینید. بعد از دسته‌بندی Animals گزینه Cat Flying را انتخاب کنید و سپس روی OK بزنید (شکل زیر).

شکل 16-4: رنگ پس‌زمینه را آبی کنید.

رنگ پس‌زمینه را آبی کنید.

روی اسپرایت جدید کلیک کنید. سپس از دسته‌بندی Events دو بلوک when space key pressed انتخاب و در ناحیه کد درگ کنید. بر روی فلش کوچکی که کنار کلمه space در بلوک اول قرار دارد، کلیک کنید و از لیستی که ظاهر می‌شود، گزینه ‌left arrow را انتخاب کنید. از دسته‌بندی Motion ، بلوک زیر را انتخاب کنید و زیر بلوک when left arrow pressed  قرار دهید.

همین کار را با بلوک دیگری از دسته Events انجام دهید. بر روی فلش کوچکی که کنار کلمه space در بلوک اول قرار دارد، کلیک و از لیستی که ظاهر می‌شود، گزینه right arrow را انتخاب کنید. از دسته‌بندی Motion هم بلوک زیر را انتخاب کنید.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

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

همین کار را دو بار دیگر تکرار کنید در این مرحله، می‌خواهیم اسپرایت علاوه بر چرخش به چپ و راست، قادر به حرکت به جلو و عقب نیز باشد. برای این منظور، بلوک‌های up arrow و down arrow را از دسته‌بندی Events انتخاب می‌کنیم. سپس از دسته‌بندی Motion، دو بلوک move -10 steps و move -10 steps را به ترتیب به این بلوک‌ها اضافه می‌کنیم. حال کلیدهای و ↓ را فشار دهید خواهید دید که اسپرایت می‌چرخد و به جلو عقب حرکت می‌کند.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

برای واقعی‌تر کردن حرکت اسپرایت می‌توانید نحوه ظاهر شدن آن را تغییر دهید (در Scratch اصطلاحاً به آن Costume / لباس گفته می‌شود). روی اسپرایت کلیک کنید، سپس روی تب Costumes در بالای پالت بلوک‌ها کلیک کنید. روی cat flying-a کلیک کنید و سپس برای حذف کردن آن روی آیکون سطل زباله‌ای که در گوشه بالا سمت راست آن ظاهر می‌شود کلیک کنید. بعد روی آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming  cat flying-b کلیک کنید و از باکسی که در بالا قرار دارد، نام آن را به right تغییر دهید (شکل زیر).

شکل 17-4: نام costume را به right تغییر دهید.

نام costume را به right تغییر دهید.

روی کاستوم جدید به نام right کلیک راست کنید و گزینه duplicate را انتخاب کنید تا یک کپی از آن ساخته شود. حال روی این کپی کلیک کنید و سپس روی آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming Select icon بزنید. حال گزینه آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming Flip Horizontal را انتخاب کنید و نام آن را به left تغییر دهید (شکل زیر). حال اسپرایت دو کاستوم برای دو جهت سمت راست و چپ دارد. این دو کاستوم مشابه هم هستند ولی اسپرایت را در دو جهت متفاوت نشان می‌دهند.

شکل 18-4: لباس/ Costume را کپی کنید، آن را برگردانید و نام آن را left بگذارید.

لباس/ Costume را کپی کنید، آن را برگردانید و نام آن را left بگذارید.

 

روی تب کد در بالای قسمت مربوط به costume کلیک کنید. از دسته‌بندی  Looks دو بلوک switch costume to left و switch costume to right را انتخاب کنید و بعد اولی را زیر بلوک when left arrow key pressed و دومی را زیر بلوک when right arrow key pressed قرار دهید. حال کلیدهای و را بزنید. خواهید دید که گربه به جهتی که انتخاب کردید، می‌چرخد.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

برای شنای نمایشی به سبک المپیک، ما به شناگران بیشتری نیاز داریم. به علاوه باید راهی برای ریست کردن موقعیت اسپرایت پیدا کنیم. از دسته‌بندی Events بلوک when پروژه آموزش ساخت بازی تایمر فضانورد در Scratch clicked را اضافه کنید. سپس از دسته‌بندی Motion، یک بلوک go to x: 0 y: 0 انتخاب کنید (در صورت لزوم مقادیر را تغییر دهید). مجدداً از دسته‌بندی Motion یک بلوک دیگر به اسم point in direction 90 اضافه کنید. حال وقتی روی پرچم سبز کلیک ‌کنید، گربه به وسط صحنه می‌آید و سپس به سمت راست اشاره می‌کند.

شاید برای شما مفید باشد:
آشنایی با طراحی بردهای فرکانس بالا-کراس تالک (Crosstalk)

برای اینکه شناگران بیشتری داشته باشیم، از دسته‌بندی Control یک بلوک repeat 10 اضافه کنید و سپس مقدار آن را به 6 تغییر دهید. مجدداً از همان دسته یک بلوک create clone of myself انتخاب کنید و داخل بلوک repeat 10 قرار دهید. برای اینکه همه شناگران در یک جهت شنا نکنند باید بلوک زیر را بالای بلوک clone of myself و داخل بلوک repeat 6 قرار دهید.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

روی پرچم سبز کلیک کنید و کلیدهای فلش را امتحان کنید تا ببینید که شناگران شما به حرکت در می‌آیند!

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

حال برای تکمیل پروژه شنای نمایشی باید موسیقی را هم به آن اضافه کنید. بدین منظور سراغ تب Sounds در بالای پالت بلوک‌ها بروید. سپس روی آیکون آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming Choose a Sound کلیک کنید. روی دسته Loops کلیک کنید و از لیستی که ظاهر می‌شود، موسیقی‌ مورد علاقه خود را پیدا کنید (شکل زیر). برای این پروژه من موسیقی Dance Around را انتخاب کردم. حال روی دکمه OK کلیک کنید تا موسیقی انتخاب شود. پس از آن روی تب Code کلیک کنید.

شکل 19-4: یک موسیقی انتخاب کنید

یک موسیقی انتخاب کنید

از دسته‌بندی Events، یک بلوک when پروژه آموزش ساخت بازی تایمر فضانورد در Scratch clicked انتخاب و به ناحیه کد اضافه کنید. سپس از دسته‌بندی Control یک بلوک Forever انتخاب کنید. داخل این بلوک، یک بلوک play sound dance around until done اضافه کنید. به یاد داشته باشید که باید اسم قطعه موسیقی که انتخاب کرده‌اید را وارد کنید. حال روی پرچم سبز کلیک کنید تا برنامه اجرا شود. اگر خواستید موسیقی را متوقف کنید، کافی است روی هشت‌ضلعی قرمز رنگ کلیک کنید تا برنامه و صدا متوقف شود.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

در نهایت، برای اینکه یک شنای نمایشی کامل را شبیه‌سازی کنید، می‌توانید یک تریگر جدید به برنامه اضافه کنید. بدین منظور از دسته‌بندی Events، یک بلوک when space key pressed اضافه کنید. سپس یک بلوک switch costume to right انتخاب کنید. زیر این بلوک، یک بلوک repeat 36 اضافه کنید. به یاد داشته باشید که مقدار پیش‌فرض را از 10 به 36 تغییر دهید؛ و داخل بلوک repeat 36 هم به ترتیب دو بلوک زیر را قرار دهید:

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimmingروی پرچم سبز کلیک کنید تا برنامه ران شود. سپس کلید فاصله را فشار دهید تا تغییرات اخیری که اضافه کردید، اجرا شوند (شکل زیر). پس از تست برنامه حتماً آن را ذخیره کنید.

شکل 20-4: روتین کامل شنای نمایشی

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

پروژه 3: بازی تیراندازی با کمان

اکنون که با Scratch کامل آشنا شدید، زمان آن رسیده که روی پروژه‌های کمی چالش‌برانگیزتر کار کنید: یک بازی تیراندازی با کمان. در این بازی بازیکن باید با یک کمان و تیر که به طور تصادفی حرکت می‌کند، به هدف شلیک کند.

این کارا با باز کردن مرورگر کرومیوم و تایپ آدرس زیر و سپس فشار دادن کلید ENTER شروع کنید تا منابع بازی به صورت یک فایل زیپ دانلود ‌شوند:

 rpf.io/p/en/archery-go

حال باید آن را از حالت فشرده خارج کنید (روی آن راست کلیک کرده و گزینه Extract Here را انتخاب کنید). به Scratch برگردید و روی منوی File کلیک کنید. سپس گزینه Load from your computer را انتخاب و روی ArcheryResources.sb3 کلیک کنید و سپس دکمه Open را بزنید. حال از شما پرسیده می‌شود که آیا می‌خواهید پروژه فعلی را جایگزین کنید یا خیر. اگر تغییرات را ذخیره نکرده‌اید، روی Cancel کلیک کنید و آن‌ها را ذخیره کنید. در غیر این صورت روی OK کلیک کنید.

شکل 4-21: لود شدن منابع بازی تیراندازی با کمان.

لود شدن منابع بازی تیراندازی با کمان.

پروژه‌ جدید شامل یک پس‌زمینه و یک اسپرایت است (شکل بالا)، اما هیچ کدی ندارد و این دقیقاً کاری است که باید شما انجام دهید. این کار را با افزودن یک بلوک when پروژه آموزش ساخت بازی تایمر فضانورد در Scratch clicked شروع کنید. سپس یک بلوک broadcast message1 اضافه کنید. روی فلش کوچک در انتهای بلوک کلیک کنید و سپس New Message را انتخاب کنید. حال عبارت new arrow را تایپ کنید و دکمه OK را بزنید. حال بلوک عبارت new arrow را نشان می‌دهد.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

broadcast یک پیام از یک بخش از برنامه است که هر بخش دیگری از برنامه می‌تواند آن را دریافت کند و طبق آن کاری را انجام دهد. بدین منظور یک بلوک when I receive message1 اضافه کنید و سپس متن آن را به when I receive new arrow تغییر دهید. بدین منظور روی فلش رو به پایین کلیک کنید و از لیست new arrow را انتخاب کنید.

در زیر بلوک when I receive new arrow ، یک بلوک go to x: -150 y: -150 و یک بلوک set size to 400 % اضافه کنید. توجه کنید که این‌ها مقادیر پیش‌فرض این بلوک‌ها نیستند. به عبارتی شما باید پس از اضافه کردن این بلوک‌ها، مقادیر پیش‌فرض را با مقادیر مورد نظر جایگزین کنید. حال روی پرچم سبز کلیک کنید تا ببینید تاکنون چه کارهایی انجام داده‌اید: اسپرایت پیکان (arrow sprite) که بازیکن از آن برای هدف‌گیری استفاده می‌کند، به پایین و سمت چپ صفحه می‌رود و اندازه آن چهار برابر می‌شود.

شاید برای شما مفید باشد:
()noTone در آردوینو

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

برای به چالش کشیدن بازیکن، یک حرکت شبیه‌سازی شده‌ برای پیکان یا تیر اضافه کنید. به این صورت که در حین کشیدن کمان و هدف‌گیری تیر نوسان می‌کند. یک بلوک Forever را انتخاب و به ناحیه کد اضافه کنید. سپس یک بلوک a glide 1 seconds to x: -150 y: -150 اضافه کنید. در اولین دایره سفید از سمت چپ این بلوک عدد 0.5 را جایگزین کنید. سپس از دسته‌بندی Operators یک بلوک pick random -150 to 150 را در دو جای خالی دیگر همان بلوک قرار دهید. این باعث می‌شود که تیر در صفحه به صورت تصادفی در جهات مختلف و فواصل مختلف حرکت کند و هدف‌گیری برای بازیکن سخت‌تر شود.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

یک‌بار دیگر روی پرچم سبز کلیک کنید تا ببینید که بلوک چه کاری انجام می‌دهد: اسپرایت تیر در حال حرکت است اما در حال حاضر شما هیچ راهی برای پرتاب تیر به سمت هدف ندارید. حال یک بلوک when space key pressed را به ناحیه کد اضافه کنید. سپس از دسته‌بندی Control، یک بلوک stop all انتخاب کنید. روی فلش پایین در انتهای بلوک کلیک کنید و آن را به یک بلوک stop other scripts in sprite تغییر دهید.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

اگر برنامه را برای اضافه کردن بلوک‌های جدید متوقف کرده‌اید، دوباره روی پرچم سبز کلیک کنید تا برنامه مجدداً اجرا شود. سپس کلید SPACE را فشار دهید: خواهید دید که اسپرایت تیر دیگر حرکت نمی‌کند. این شروع کار است و باید آن را به نحوی تغییر دهید که به نظر برسد تیر به سمت هدف حرکت می‌کند. یک بلوک repeat 50 را اضافه کنید و زیر آن یک بلوک change size by -10 قرار دهید. حال روی پرچم سبز کلیک کنید تا بازی را دوباره تست کنید. این بار، به نظر می‌رسد که تیر به سمت هدف حرکت می‌کند.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

برای اینکه یک بازی جذاب بسازید، به یک راه برای ثبت امتیازات نیاز دارید. از همان دسته قبلی یک بلوک if then اضافه کنید، دقت کنید که زیر بلوک repeat 50 (و نه در داخل آن) قرار بگیرد. حال از دسته Sensing یک بلوک ?touching color اضافه کنید و در جای خالی بین if و then قرار دهید. برای انتخاب رنگ صحیح، روی جعبه‌ی رنگی در انتهای بلوک کلیک کنید، سپس روی آیکونی که شبیه به قطره‌چکان است کلیک و بعد روی مرکز زرد رنگ هدف کلیک کنید.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

برای این‌که بازیکن بداند که امتیاز گرفته است، یک بلوک start sound cheer و یک بلوک say 200 points for 2 seconds اضافه کنید. در نهایت، یک بلوک broadcast new arrow را در پایین‌ترین قسمت بلوک‌ها (زیر و خارج از بلوک if then) اضافه کنید تا پس از هر بار پرتاب تیر به بازیکن یک تیر دیگر داده شود. روی پرچم سبز کلیک کنید تا بازی را شروع شود. حال سعی کنید تیر را سمت مرکز زرد رنگ پرتاب کنید: اگر بتوانید به هدف بزنید، همراه با تشویق جمعیت ، 200 امتیاز پاداش هم خواهید گرفت.

آموزش پروژه محور اسکرچ: ساخت بازی تیراندازی و Synchronised Swimming

بازی بدون مشکل اجرا می‌شود اما کمی چالش‌برانگیز است. با استفاده از آنچه در این فصل آموختید، سعی کنید آن را بسط یا گسترش دهید و امتیازاتی برای ضربه زدن به قسمت‌های دیگر یعنی به غیر از مرکز زرد رنگ اضافه کنید: 100 امتیاز برای قسمت قرمز، 50 امتیاز برای قسمت آبی و غیره.

اطلاعات
8
0
0
اشتراک و حمایت
profile نویسنده: بهاره بهرامی متخصص الکترونیک

ویراستار: M Hariri
مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

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

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله