فهرست مطالب:

صخره های فضایی آردوینو بازی: 3 مرحله
صخره های فضایی آردوینو بازی: 3 مرحله

تصویری: صخره های فضایی آردوینو بازی: 3 مرحله

تصویری: صخره های فضایی آردوینو بازی: 3 مرحله
تصویری: 😉 وقتی شوهرش سرکاره، ربات مرد تمام خواسته های زن را برآورده می کند 2024, جولای
Anonim
بازی صخره های فضایی آردوینو
بازی صخره های فضایی آردوینو

چه در رایانه ، چه در تلفن ، چه در یک کنسول بازی ، چه در یک جعبه مستقل ، بسیاری از بازی های ویدئویی شامل یک عنصر اجتناب از موانع هستند. مطمئناً ممکن است برای جمع آوری نشانه ها یا یافتن راه خود در پیچ و خم امتیازاتی در نظر گرفته شود ، اما مطمئن باشید احتمالاً چیزی در بازی وجود دارد که تنها هدف آن جلوگیری از انجام این کار است. اولین بازی ویدیویی پنگ بود ، اما پس از آن محبوب ترین بازی ها چیزهایی مانند "سیارک ها" یا "Pac-Man" بودند. تنوع اخیر بازی ساده اما اعتیادآور "Flappy Birds" خواهد بود.

اخیراً دیدم که شخصی یک نسخه ساده دو سطح از "Flappy Bird" ساخته است که روی یک LCD معمولی 1602 پخش شده است. من فکر کردم این چیزی است که نوه ها ممکن است دوست داشته باشند ، بنابراین تصمیم گرفتم تغییرات خود را از ابتدا انجام دهم. نسخه 1602 فقط دو سطح دارد ، بنابراین تصمیم گرفتم از LCD سال 2004 (20x4) استفاده کنم تا کمی سختی بازی را افزایش دهم. من همچنین تصمیم گرفتم که آن را بیشتر شبیه "سیارک ها" کنم ، زیرا بازیکن از طریق یک پیچ و خم "صخره های فضایی" یک کشتی را هدایت می کند. حتی اگر به ساخت بازی علاقه ای ندارید ، ممکن است برخی از عناصر نرم افزار وجود داشته باشد که می توانید در یکی از پروژه های خود استفاده کنید.

مرحله 1: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

سخت افزار می تواند تقریباً بر اساس هر نسخه آردوینو باشد. من نمونه اولیه را با استفاده از نانو انجام دادم و سپس کد را در یک تراشه ATMega328 سوزاندم. این تراشه همان تراشه ای است که در نانو استفاده می شود ، اما استفاده از آن به تنهایی امکان جمع و جورتر و مصرف برق کمتر را فراهم می کند. همانطور که می بینید ، من مدار را روی یک تخته نان کوچک که روی ماژول LCD قرار دارد ، ساختم. جنبه دیگری که متفاوت است این است که نانو با استفاده از کریستال خارجی با سرعت 16 مگاهرتز کار می کند ، اما من تصمیم گرفتم که از نوسان ساز داخلی 8 مگاهرتز برای تراشه ATMega328 استفاده کنم. این باعث صرفه جویی در قطعات و قدرت می شود.

رابط ال سی دی 2004 با آردوینو مشابه LCD 1602 است. تفاوت جالب در آدرس دهی مکان های نمایش است. بدیهی است که تفاوت وجود دارد زیرا چهار خط به جای دو خط وجود دارد ، اما در سال 2004 ، خط سوم امتداد خط اول و خط چهارم گسترش خط دوم است. به عبارت دیگر ، اگر یک برنامه آزمایشی داشتید که فقط یک سری کاراکتر به LCD ارسال می کرد ، 21 کاراکتر در ابتدای خط سوم ظاهر می شد و کاراکتر 41 به دور خط اول باز می گشت. من از این ویژگی در نرم افزار استفاده می کنم تا طول پیچ و خم را به طور مثر دو برابر کنم.

من تصمیم گرفتم نسخه باتری خود را تغذیه کنم بنابراین از یک باتری معمولی 18650 Li-ion و 3.6 ولت استفاده کردم. برای این کار باید یک برد کوچک برای شارژ USB و یک برد کوچک دیگر برای افزایش ولتاژ باتری تا 5 ولت برای LCD و تراشه ATMega اضافه کنم. تصاویر ماژول هایی را که من استفاده کردم نشان می دهد ، اما ماژول های همه کاره نیز وجود دارد که هر دو عملکرد را انجام می دهند.

مرحله 2: نرم افزار

این نرم افزار برای هر دو تراشه نانو و ATMega328 یکسان است. تنها تفاوت در روش برنامه نویسی است. من از نسخه 160b نرم افزار LCD 160b خود استفاده می کنم و نرم افزار LCD در این پروژه بر اساس آن است. من نیاز به افزودن قابلیت هایی برای پرداختن به خطوط اضافی صفحه نمایش 2004 و همچنین روال معمول برای تغییر صفحه نمایش داشتم. تغییر صفحه نمایش ، اثر حرکت "صخره ها" را از روی "کشتی" فراهم می کند.

همانطور که قبلاً ذکر شد ، خطوط 1 و 3 یک صف دایره ای تشکیل می دهند و خطوط 2 و 4 نیز همین کار را می کنند. این بدان معناست که پس از 20 نوبت ، خطوط 1 و 3 تعویض می شوند و خطوط 2 و 4 تعویض می شوند. پس از 40 نوبت ، خطوط به حالت اولیه خود باز می گردند. به دلیل این رفتار ، پیچ و خم اصلی 20 کاراکتری هنگام تعویض خطوط کاملاً متفاوت می شود. وقتی سعی کردم یک پیچ و خم ایجاد کنم ، زندگی جالب شد. من در نهایت یک صفحه گسترده Excel را باز کردم تا بتوانم مسیر را بدون نیاز به تغییر مداوم نرم افزار ترسیم کنم. نرم افزار ارائه شده در اینجا دارای دو نسخه از پیچ و خم است (یکی در مورد آن توضیح داده شده است) بنابراین می توانید انتخاب کنید کدام را می خواهید یا خودتان آن را تهیه کنید.

من در ابتدا می خواستم این موضوع به اندازه ای ساده باشد که نوه های جوان بتوانند آن را بازی کنند ، اما من همچنین می خواستم اگر آنها (یا شخص دیگری) در این کار خیلی خوب عمل کنند ، چالش بیشتری داشته باشد. بازی با نرخ تغییر در 1 ثانیه شروع می شود. میزان تیک داخلی 50 میلی ثانیه است ، به این معنی که 20 فاصله وجود دارد که در طی آن می توان دکمه های بالا/پایین را فشار داد. در واقع ، یک دکمه فشرده 2 تیک مصرف می کند زیرا از فاصله 50 میلی متری برای تشخیص پرس و از فاصله 50 میلی متری دیگر برای منتظر ماندن استفاده می شود. در پیچ و خم پیش فرض حداکثر تعداد پرس مورد نیاز قبل از شیفت بعدی سه است. راه ساده برای افزایش دشواری بازی این است که زمان بین شیفت ها را کوتاه کنید تا چند خط کد با افزایش نمره این کار را انجام دهد. سرعت جابجایی در هر 20 نوبت 50 میلی متر افزایش می یابد و حداقل میزان آن به 500 میلی ثانیه محدود می شود. تغییر این پارامترها آسان است.

منطق اصلی نرم افزار به غیر از تغییر نرخ تغییر ، حرکت "کشتی" و تعیین برخورد "کشتی" با "سنگ" است. این توابع از آرایه تعریف شده "سنگ/فضا" و همچنین آرایه ای که مکان های حافظه را در صفحه نمایش مشخص می کند ، استفاده می کنند. تعداد جابجایی مربوط به طول خط LCD (0-19) است و به عنوان نمایه ای در این آرایه ها استفاده می شود. منطق تا حدی با این واقعیت پیچیده است که خطوط در هر 20 شمارش شیفت عوض می شوند. منطق مشابهی برای تعیین موقعیت "کشتی" استفاده می شود که می تواند در هر یک از چهار خط باشد.

نمره هر بازی به سادگی شمارش تعداد شیفت های رخ داده است و نمره بالا در EEROM داخلی میکروکنترلر ذخیره می شود. از کتابخانه EEPROM برای خواندن و نوشتن روی این حافظه استفاده می شود. روالهای موجود اجازه می دهد که یک بایت مقادیر نقاط شناور را بخواند/بنویسد و بخواند/بنویسد. مقدار 0xA5 در اولین مکان EEROM ذخیره می شود تا نشان دهد که نمره بالا ذخیره شده است. اگر این مقدار در هنگام فعال شدن وجود داشته باشد ، مقدار نقطه شناور برای نمره بالا خوانده و نمایش داده می شود. اگر مقدار 0xA5 وجود نداشته باشد ، یک روال برای مقداردهی اولیه نمره بالا به مقدار 1 فراخوانی می شود. نمره بالا با نگه داشتن یکی از دکمه های بالا/پایین و فشار دادن لحظه ای دکمه تنظیم مجدد به مقدار 1 باز می گردد.

مرحله 3: انجام بازی

بازی کردن بازی
بازی کردن بازی
بازی کردن بازی
بازی کردن بازی

هنگامی که برق اعمال می شود ، نمره بالا فعلی نمایش داده می شود. پس از نمایش نمره بالا ، پیچ و خم "سنگ" و "کشتی" نمایش داده می شود و بازی چند ثانیه بعد شروع می شود. هنگامی که "کشتی" به "سنگ" برخورد می کند ، پیام "خراب شدن و سوختن" قبل از نمایش نمره بازی چند بار چشمک می زند. اگر یک امتیاز بالا جدید ایجاد شود ، آن پیام نیز نمایش داده می شود. یک بازی جدید با فشار دادن دکمه بازنشانی آغاز می شود.

توصیه شده: