به نام خدای رنگین کمان!
به جلسه چهارم آموزش اسکرچ خوش اومدید. در این آموزش در مورد ساخت بازی در اسکرچ صحبت میکنم و شما رو وارد دنیای جذاب بازی سازی در اسکرچ میکنم. با من همراه باشید
فهرست مطالب
ساخت بازی در اسکرچ
1- شما برای نوشتن این بازی نیاز دارید کاری کنید که توپهای بسکتبال مدام در صفحه حرکت کنند. برای اینکار باید از ساختار تکرار استفاده کنید
2- شما باید کاری کنید که کاربر توپ فوتبال رو در بازی حرکت بده و به محض اینکه با توپ بسکتبال برخورد کرد بازی متوقف بشه. برای اینکه بتونید تشخیص بدید که توپ فوتبال با توپ بسکتبال برخورد کرده باید از ساختار شرط استفاده کنید.
3- هر بازی نیاز به نمایش امتیاز داره. برای اینکه بتونید امتیاز بازی رو یه جا نگه داری کنید و به کاربر نمایش بدید باید کار با متغیرها رو بلد باشید.
در ادامه هر سه تا مفهوم رو بیشتر یاد میگیرید.
تکرار در اسکرچ
چرا ما به تکرار در اسکرچ نیاز داریم؟
تکرار کن 10 ، برای همیشه، تکرار کن تا اینکه
تکرار کن 10
این بلاک اینجوری کار میکنه:
هر دستور (یا دستوراتی) داخل این بلاک قرار بگیره 10 بار تکرار میشه. اگه دوست داشته باشی میتونی عدد 10 رو هم تغییر بدی. مثلا دستور زیر باعث میشه کاراکتر شما 10 بار به اندازه 10 گام بره جلو:
برای همیشه
این بلاک اینجوری کار میکنه:
هر دستور (یا دستوراتی) داخل این بلاک قرار بگیره تا آخر پروژه اجرا میشه. مگر اینکه پروژه رو متوقف کنید. مثلا دستور زیر باعث میشه کاراکتر تا آخر 10 گام بره جلو(در جهت خودش)
تکرار کن تا اینکه
این بلاک اینجوری کار میکنه:
هر دستور (یا دستوراتی) داخل این بلاک قرار بگیره اجرا میشه تا اینکه شرطی که براش مشخص میکنیم درست بشه. به محض اینکه شرط درست شد دستورات متوقف میشن. الان شاید این بلاک رو خوب درک نکنید. آموزشهای بعدی در موردش بیشتر صحبت میکنم.
اگر دقت کنید پایین بلاک “تکرار کن 10” و “تکرار کن تا اینکه” یه برجستگی وجود داره ولی “برای همیشه” اینجوری نیست. دلیلش هم اینه که مثلا دستور “تکرار کن 10” وقتی اجرا میشه بعد از 10 بار اجرای دستورات تموم میشه و ادامه دستورات (که زیر اون برجستگی براش مشخص میکنیم) اجرا میشه. اما دستور “برای همیشه” هیچ وقت تموم نمیشه و تا آخر این دستورات اجرا میشن. پس هیچ وقت این بلاک تموم نمیشه که بخواد ادامه دستورات اجرا بشه.
حرکت توپ
حرکت توپ بسکتبال
حالا که با ساختار تکرار در اسکرچ آشنا شدید باید بریم برای حرکت توپ بسکتبال. دستورات زیر رو در اسکرچتون وارد کنید و بعدش روی پرچم سبز کلیک کنید:
این دستورات چیکار میکنن؟
برای همیشه توپ 10 گام به جلو حرکت میکنه. و اگه به لبه بخوره بر میگرده. وقتی برای اولین بار شما دستورتون رو اجرا میکنید به احتمال زیاد توپتون فقط چپ و راست میشه. چرا؟ چون جهت توپ به صورت پیش فرض روی راست (90 درجه) تنظیمه. شما میتونید جهت توپتون رو اینجوری عوض کنید:
حرکت توپ فوتبال
شرط در اسکرچ
بعد از اینکه این دستورات رو نوشتید میرسیم به اصل داستان! و اونم اینه: از کجا تشخیص بدیم که توپ فوتبال به توپ بسکتبال برخورد کرده؟ من میخوام کاری کنم که اگر توپ بسکتبال به توپ فوتبال برخورد کرد بازی متوقف بشه. دستور زیر رو با این فرض نگاه کنید که قراره در توپ بسکتبال ازش استفاده کنیم:
3- توقف همه: با این دستور همه دستورات برنامه متوقف میشه. دقت کنید: همه دستورات. یعنی دستورات کاراکترهای دیگه هم اگر در حال اجراست متوقف میشه. این دستور در دسته بندی کنترل آخرین دستور
هنوز تموم نشده!
همونجور که گفتم دستورِ اگر رو باید به توپ بسکتبال اضافه کنید. اما دقیقا کجا باید اضافه کنید؟ یه سوال ازتون میپرسم، این شرط رو فقط یکبار باید چک کنیم یا برای همیشه باید چک کنیم؟
ما باید برای همیشه چک کنیم و ببینیم آیا توپ بسکتبال با توپ فوتبال برخورد میکنه یا نه. پس دستورات نهایی توپ بسکتبالمون اینجوری میشه:
ممکنه با دیدن دستورات حرکت توپ فوتبال این سوال براتون پیش بیاد: فرق دستور “تغییر x به اندازه 10” و دستور “حرکت کن 10 گام” چیه. پیشنهاد میکنم حتما آموزش محور مختصات در اسکرچ رو ببینید. اونجا کامل در موردش صحبت کردم
متغیر در اسکرچ
اول آموزش بهتون گفتم برای ساخت بازی در اسکرچ باید ساختار تکرار، ساختار شرط و متغیرها رو یاد بگیرید. دو تای اولی رو بهتون گفتم و برای اینکه آموزش طولانی نشه و خسته نشید آموزش متغیر رو در جلسه بعدی بهتون میگم. در ادامه چند تا ایده بهتون میدم که چطور میتونید این بازی که تا اینجا نوشتید رو قشنگ تر کنید.
بانک ایده جلسه 4
بانک ایده جاییه که ذهن شما رو خلاق تر میکنه. در آموزش امروز شما یه سری دستورات یاد گرفتید، یه توانمندیهایی پیدا کردید و در ادامه یه سری ایده میخوام بهتون بدم که بتونید بازی خودتون رو قشنگ تر کنید. شاید الان نتونید ایده ها رو پیاده کنید، ولی یه جایی تو گوشه ذهنتون داشته باشید و بعدا به وقتش ازش استفاده کنید. ایده ها رو با دقت بخونید و شما هم اگه ایده ای داشتید در قسمت نظرات این نوشته بنویسید.
میتونید یک زمان سنج به بازیتون اضافه کنید و هر یک ثانیه که بازی در جریانه یک امتیاز به کاربرتون بدید. اینجوری بازی حالت رقابتی تر میگیره و قشنگ تر میشه.
اگر بازی رو تا اینجا که من درست کردم شما هم درست کنید و امتحان کنید متوجه یک مشکل میشید، و اونم اینه که کاراکتر توپ یه خورده با وقفه جابجا میشه و شاید یه جورایی اینجوری به نظر برسه: بازی کنده. در ساخت بازی در اسکرچ باید حواستون باشه کاراکتر اصلی بازی جوری درست بشه که کاراکتر در کنترل کاربر باشه. یعنی اگه کاربر میخواد کاراکتر بره سمت راست سریع بره سمت راست و وقفه ای نیفته.
این ایده ها رو چطور پیاده سازی کنم؟
همونطور که گفتم قرار نیست همه این ایده ها رو الان بلد باشید پیاده کنید. مورد 1 رو من در جلسه بعدی بهتون میگم و مورد 2 تا 4 رو در دوره قهرمان اسکرچ آموزش دادم. اگه دوست داشتید میتونید اون دوره رو تهیه کنید. در دوره قهرمان اسکرچ آموزش کلی بازی قشنگ قرار دادم و شما بازی سازی در اسکرچ رو خیلی خوب یاد میگیرید
آنچه در ادامه یاد میگیرید
در جلسه بعد شما یاد میگیرید که چطور از متغیرها استفاده کنید و به بازیتون امتیاز اضافه کنید. امتیاز بازی شما رو رقابتی تر و قشنگ تر میکنه.
ممنون که تا اینجا همراه من بودید. اگر از محتوای آموزش سوالی دارید در قسمت نظرات سوالتتون رو بپرسید. حتما سوالات شما رو میخونم و بهشون جواب میدم. اگر هم فکر میکنید این مقاله برای دوستانتون مفیده، باهاشون به اشتراک بذارید.
خواندن این مطالب را از دست ندهید:
- جلسه 5 – متغیر در اسکرچ
- آموزش بازی فوتبال با اسکرچ – قسمت 1
- جلسه 6 – بازی پینگ پنگ در اسکرچ
- جلسه 2 – نوشتن اولین پروژه در اسکرچ
- تمرین های جاوا اسکریپت
- ساخت بازی فوتبال-قسمت2
- جلسه 14 – for در جاوا اسکریپت
- جلسه 3 – ساختار تکرار در سی پلاس پلاس
- جلسه 5 – آرایه در سی پلاس پلاس
- جلسه نهم – شرط در جاوا اسکریپت
- تمرین های سی پلاس پلاس
- جلسه 3 – ساختار تکرار در فلوچارت
- جلسه 3: ساخت انیمیشن در اسکرچ
- اسکرچ یا اپ اینونتور؟ نقشه راه برنامه نویسی برای دانش آموزان
- جلسه 8 – بررسی یک مثال کاربردی و بازی در c++
سلام وقت بخیر چجوری با استفاده از اسکریپت کاری کنم یه شی در صفحه از موس فرار کنه؟مثلا یه مگسی در نظر بگیرید که موس رو میاریم روش جا به جا بشه؟ممنون میشم کد اسکریپتشو بگین
سلام
شما برای مگس بیاید یه ساختار تکرار “برای همیشه” درست کنید که داخل اون باید شرط بذارید که اگر “خوردی به اشاره گر موس” جای مگس رو تغییر بدید. حالا میشه از دستور برو به x و y استفاده کنید یا از دستور سر بخور… فکر کنم با سر بخور بازیتون قشنگ تر میشه
(لطفا از این به بعد خواستید سوال بپرسید بگید کلاس چندم هستید که من برای جواب دادن سن شما هم در نظر بگیرم و حواب بهتری بهتون بدم )