فهرست مطالب
در این مقاله آموزشی ، شما را به صورت گام به گام با نحوه ساخت بازی اسکرچ Packman راهنمایی می کنیم. با ایجاد این بازی، هم محیط و هم پیچ و خم را خود شما طراحی خواهید کرد. برنامهنویسی میتواند بسیار پیچیده باشد، اما اتمام طراحی بازی Packman بسیار لذت بخش است!
بازی اسکرچ Packman یک بازی اسکرچ با گذرگاه طاقدارو پیچ و خم است که در آن بازیکن Packman را کنترل می کند، که باید تمام نقاط روی پیچ و خم محصور را بخورد و در حالی که از ارواح فرار کند.
بازی اسکرچ Packman به عنوان یکی از جالب ترین و مهمترین بازیها شناخته میشود و معمولاً یکی از بهترین بازیهای ویدیویی در تمام مقاطع بازی اسکرچ Packman معرفی میشود.
اگر از ایجاد بازیها در اسکرچ لذت میبرید، حتماً کلاسهای برنامهنویسی اسکرچ( Scratch) برای کودکان ونوجوانان مجموعه آموزشی نابغه ساز را مشاهده کنید.
بیایید شروع به ساخت بازی اسکرچ packman که بازی ویدیویی شگفت انگیز کنیم.
اولین کاری که باید برای بازی اسکرچ Packman انجام دهید این است که پس زمینه خود را ایجاد کنید. به طور پیش فرض، اسکرچ (Scratch) یک پس زمینه خالی ارائه می دهد. بیایید با کشیدن یک پیچ و خم روی پس زمینه شما شروع کنیم. در سمت راست صفحه، نماد کوه گرد را پیدا کرده و روی آن کلیک کنید.
گزینه رنگ را انتخاب کنید و هر نوع پیچ و خم را بکشید. فقط مطمئن شوید که به جای استفاده از قلم مو، گزینه خط را برای کشیدن پیچ و خم خود انتخاب کنید.
در مرحله بعد، باید یک پس زمینه دیگر برای پایان بازی طراحی کنیم. برای پسزمینه پایانی خود، میتوانید هر پسزمینهای را با متن GAME OVER روی آن انتخاب کنید.
اکنون که بک دراپها را آماده کردهاید، وقت آن است که شروع به کشیدن اسپرایت کنید. ارواح ما شامل Packman، تمام نقاط و همه ارواح خواهد بود.
برای شروع، روی نماد گربه رنگ آبی گرد در گوشه پایین سمت راست کلیک کنید تا یک اسپرایت جدید بکشید. در آنجا، می توانید هر رنگ و شکلی را که می خواهید برای ایجاد اسپریت های خود انتخاب کنید.
اسپریت های گرد یا رنگی مربعی رنگی را بکشید و آنها را چندین بار کپی کنید. آن ارواح های تکراری را در سراسر پیچ و خم پخش کنید، به عنوان امتیازهایی که باید به ثمر برسند.
به بلوک های متغیر بروید و یک متغیر با نام score (نمره) ایجاد کنید تا امتیاز و متغیر دیگری به نام life (جون ) ذخیره شود.
بیایید شروع به کدنویسی کنیم ! اولین کار این است که وقتی از کلیدهای جهت نما استفاده می کنیم، Packman خود را به حرکت در آوریم. ما باید برای هر جهت ممکن برنامه ریزی کنیم.
روی Packman sprite کلیک کنید. به بلوک های رویداد خود بروید و بلوک وقتی پرچم کلیک شد را بیرون بکشید. سپس بلوک Forever و چهار بلوک If را از بلوک های کنترل اضافه کنید. برای هر بلوک If، قرار دادن وضعیت بلوک ?key____pressed است. سپس، باید دو بلوک را در داخل هر If اضافه کنیم. در زیر بلوکهای سنجش، بلوک ___Point in direction و بلوک Move _ Steps را پیدا کنید.
بعد، مسیرها و مراحل را در جاهای خالی پر کنید. ما همیشه حرکت Packman را ۵ پله خواهیم داشت. جهت ما خواهد بود: ۰، ۱۸۰، ۹۰، و -۹۰٫
برای اینکه Packman غذا بخورد، لباسهای Packman را در حین حرکت عوض میکنیم. برای کدنویسی، با بلوک When flag clicked کلیک شده از بلوک های Event و بلوک Forever از زیر بلوک های Control شروع کنید. در Forever، سه تا ____ Switch costume to از بلوک های Look اضافه کنید. در بین هر یک از این سه بلوک یک بلوک Wait 0.2 Seconds از زیر بلوکهای Control اضافه کنید.
برای اینکه مطمئن شویم Packman به پیچ و خم زیبایی که شما طراحی کرده اید احترام می گذارد، باید تشخیص دهیم که Packman چه زمانی رنگ سیاه را لمس می کند.
این پشته را با افزودن بلوک When Flag Clicked از بلوک های Event شروع کنید. سپس یک بلوک Forever و یک بلوک If را از زیر بلوکهای Control اضافه کنید. در شرایط بلوک If، Touching Color (black) را قرار دهید؟ بلوک از بلوک های سنجش. در داخل بلوک If، یک بلوک Move -5 Steps از بلوکهای Motion اضافه کنید.
ما مربع های قرمز رنگی در پیچ و خم خود داریم که Packman قرار است آنها را بخورد و امتیاز کسب کند. بنابراین، بررسی خواهیم کرد که آیا Packman هنگام حرکت رنگ قرمز را لمس می کند یا خیر. اگر پاسخ مثبت است، اسپرایت رنگ قرمز را مخفی می کنیم و یکی را در متغیر امتیاز اضافه می کنیم.
این پشته را با افزودن بلوک When Flag Clicked از بلوک های Event شروع کنید. سپس بلوک Forever و یک بلوک If را از بلوک های Control اضافه کنید. در شرط بلوک اگر، رنگ لمسی (قرمز) را اضافه کنید؟ بلوک از بلوک های حسگر. و در داخل بلوک If، بلوک Wait 0.2 seconds را از بلوکهای Control، و Change score by 1 block را از بلوکهای متغیر اضافه کنید.
برای پنهان کردن اسپرایت رنگ قرمز، روی اسپرایت کلیک کنید و با برداشتن بلوک When flag clicked بلوک از بلوکهای رویداد، یک پشته را شروع کنید. سپس بلوک Show را از بلوکهای Looks اضافه کنید. در زیر آن یک بلوک Forever و یک بلوک If از بلوک های Control اضافه کنید. در شرط اگر Touching Packman را اضافه کنید؟ بلوک از بلوک های حسگر. در داخل If، بلوک hide از بلوک های Looks را اضافه کنید.
برای اینکه روح شما رنگش را تغییر دهد، لباسهای روح را در حین حرکت عوض میکنیم. ما با بلوک When flag clicked از بلوک های رویداد شروع می کنیم. سپس بلوک Show را از بلوکهای Looks اضافه کنید. سپس بلوک Forever را از بلوک های کنترل اضافه کنید. در مرحله بعد، بلوک costume to___ Switch را سه بار از بلوکهای Looks اضافه کنید. در نهایت، بین این سه بلوک، بلوک Wait 0.2 seconds را از بلوکهای کنترل اضافه کنید.
در مرحله بعد، باید روح ارواح خود را در مسیر خاصی حرکت دهیم. ما با بلوک clicked When flag از بلوک های رویداد برای هرروح شروع می کنیم (ما سه مورد را انجام خواهیم داد). سپس سه بلوک Forever را از بلوک های کنترل اضافه کنید.
اکنون __:Glide 1 sec to x:__&y بلوک را به از بلوکهای Motion چندین بار اضافه کنید تا مطمئن شوید که روح در یک مسیر ثابت حرکت میکند. هنگامی که بلوک ها را بیرون می آورید، مقادیر x و y شما به طور خودکار وجود خواهند داشت، زیرا آنها مختصات مکان فعلی روح شما هستند. مقادیر نمونه را می توان در تصاویر کد زیر یافت. در حال حاضر ما برای هر روح جداگانه برنامه نویسی می کنیم تا مسیر منحصر به فرد خود را ایجاد کنیم.
اکنون زمان برنامه ریزی برای Packman sprite است. اگر Packman به هر یک از ارواح ما دست بزند، Packman یک زندگی را از دست خواهد داد. در کل Packman فقط سه زندگی خواهد داشت.
Packman sprite خود را انتخاب کنید و بلوک When flag clicked را از بلوک های رویداد اضافه کنید تا شروع شود. سپس یک بلوک Forever و یک بلوک If را از بلوک های Control اضافه کنید.
برای داخل شرط If، ۲ بلوک Or را از بلوک های اپراتورها بگیرید. یک بلوک یا بلوک را در دیگری قرار دهید و در داخل شرط عبارت ?_____Touching را اضافه کنید.
داخل بلوک If یک بلوک __:Go to x:__ &y و از بلوکهای Motion اضافه کنید تا اسپرایت به موقعیت شروع خود ارسال شود. (فقط مطمئن شوید که sprite را به موقعیتی که میخواهید از آن شروع کنید کشیدهاید، سپس مقادیر x و y بهطور خودکار در بلوک نشان داده میشوند.) تغییر زندگیها را به بلوک -۱ از بلوکهای متغیر اضافه کنید، زیرا او در حال خورده شدن است. سپس، یک نقطه در جهت ۹۰ بلوک از بلوک های حرکت اضافه کنید. و اگر میخواهید وقتی Packman با یک روح برخورد میکند، صدایی ایجاد شود، یک بلوک صدا اضافه کنید.
بازی زمانی به پایان می رسد که متغیر Lives(جون) شما به ۰ تبدیل شود. در آن زمان شما باید همه چیز را متوقف کنید و همه روح های دیگر خود را پنهان کنید.
برای کدنویسی، با کلیک کردن روی Packman sprite و اضافه کردن بلوک When flag clicked از بلوکهای Event شروع کنید. سپس بلوک Forever و یک بلوک If را از بلوکهای Control اضافه کنید. برای این شرط، یک بلوک رنگ سبز شش ضلعی “=” از بلوک های اپراتور دریافت کنید. در یک طرف متغیر Lives را از بلوکهای متغیر قرار دهید و در طرف دیگر فقط ۰ را بنویسید. درون بلوک If یک بلوک Stop all از بلوکهای رویداد و یک بلوک Hide از بلوکهای Look اضافه کنید.
اکنون زمان پایان نمایش است! روی پس زمینه ماز خود کلیک کنید. اکنون میخواهیم مطمئن شویم که وقتی بلوک Lives از بلوکهای متغیرها ۰ است، پسزمینه را تغییر میدهیم.
پشته خود را با بلوک when flag clickedشد از بلوک های رویداد شروع کنید. در زیر بلوک Forever و یک بلوک If از بلوکهای Control اضافه کنید. برای شرط یک عملگر “=” بگیرید و در سمت دیگر متغیر Lives را از بلوک های متغیر قرار دهید. در طرف دیگر فقط ۰ را بنویسید. در داخل بلوک If، پس زمینه __Switch backdrop to
را به بلوک های Looks اضافه کنید.
اکنون زمان آن است که پیچ و خم خود را دوباره تنظیم کنید، بنابراین می توانید هر تعداد بازی که می خواهید انجام دهید. با بلوک When flag clicked شد از بلوک های رویداد شروع کنید. برای بازگشت به پسزمینه قبلی، یک پسزمینه را بهSwitch backdrop to _____ and show اضافه کنید و بلوکها را از بلوکهای Looks نشان دهید.
بلوک :__Go to x:_ & y را بیرون بکشید و از بلوکهای Motion در جهت ۹۰ قرار دهید. (دوباره اعداد x و y شما به طور خودکار نشان داده می شوند و موقعیت فعلی اسپرایت شما را منعکس می کنند.)
با افزودن متغیر Set به _، هر دو متغیر (Lives) و (Scores) را تنظیم کنید. برای ورودی Lives 3 و برای ورودی امتیاز ۰.
آری شما یک بازی اسکرچ Packman ایجاد کردید! در اینجا چند راه وجود دارد که می توانید بازی اسکرچ Packman را حتی بیشتر سفارشی کنید تا واقعاً آن را متعلق به خودتان کنید :
سعی کنید یک یا دو سطح دیگر اضافه کنید.
بستههای قدرتی را اضافه کنید که به Packman قدرت میدهد تا ارواح را برای مدت زمان مشخصی بخورد.
یا هر ایده دیگری که ممکن است تصور کنید اضافه کنید!
به هر حال، در اینجا پروژه اسکرچ (Scratch) است اگر می خواهید آن را کپی کنید و آن را متعلق به خود کنید.
از بهترین آموزش بازی اسکرچ Packman لذت ببرید!
اکنون که یک بازی اسکرچ Packman ساخته اید، دریابید که چگونه می توانید بازی های سرگرم کننده تری را با کدنویسی اسکرچ ( Scratch )ایجاد کنید. به دوره های برنامه نویسی اسکرچ مجموعه آموزشی نابغه ساز بپیوندید تا انیمیشن های خلاقانه، بازی ها و موارد دیگر بسازید.