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

ساخت بازی Snake با آردوینو

بازی Snake با آردوینو یک بازی تک نفره می‌باشد. برای چرخاندن به چپ و راست از دو دکمه استفاده می‌کند. فهرست مطالب ساخت باز با آردوینوسخت افزار بازی Snake با آردوینوکد بازی Snake با آردوینوبررسی بازی Snake ساخته شده با آردوینو ساخت باز با آردو

ساخت بازی Snake با آردوینو

بازی Snake با آردوینو یک بازی تک نفره می‌باشد. برای چرخاندن به چپ و راست از دو دکمه استفاده می‌کند.

ساخت باز با آردوینو

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

بازی Snake با آردوینو

سخت افزار بازی Snake با آردوینو

تجهیزات این پروژه از Arduino تشکیل شده است، ما در اینجا Pro Mini را می‌خواهیم، همچنین صفحه نمایش (LCD)5110 با مقاومت محدود‌کننده 330 اهم، دو مقاومت pull-up KOhm10 و دو میکرو‌سوئیچ برای دکمه‌ها. بردبورد کاربردی نخواهد داشت مگر اینکه بخواهید تمام قسمت‌ها را لحیم کنید.

سخت‌افزار بازی Snake با آردوینو

توجه داشته باشید که اتصالات نمایش در تصویر بالا کمی متفاوت است، بنابراین مطمئن باشید که تغییرات مربوطه را در کد ایجاد می‌کنید.

دکمه‌ها از Vcc به GND دو ورودی آنالوگ در حال جابه‌جایی هستند. ما می‌دانیم که می‌توانیم از یک ورودی دیجیتالی استفاده کنیم، این نیز به هدف کمک می‌کند، اما چرا؟ برای این پروژه نمایشگر را در وسط بردبورد قرار داده‌ایم که آردوینو در یک طرف و میکرو‌سوئیچ‌ها به سمت لبه‌های چپ و راست قرار دارند. دکمه تنظیم مجدد بازی دکمه تنظیم مجدد (reset) Arduino است.

کد بازی Snake با آردوینو

به طور عمده به دو کلاس متکی است: مار و غذا. مار از بلوک‌های مختلفی تشکیل شده است. اشیاء مار و غذا توسط کلاس چهارم به نام Game اداره می‌شوند.

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

 

void Execute(byte dt = 1) {
      //
      byte dx, dy;
      for (byte i = 0; i < m_Size; i ++) {
        //
        GetDirection(dx, dy, m_Blocks[i]->m_d);
        m_Blocks[i]->m_x -= m_Speed * dt * dx * m_Weight;
        m_Blocks[i]->m_y -= m_Speed * dt * dy * m_Weight;
      }
      m_HeadX = m_Blocks[0]->m_x;
      m_HeadY = m_Blocks[0]->m_y;
      for (byte i = m_Size - 1; i > 0; i --) {
        // 
        m_Blocks[i]->m_d = m_Blocks[i - 1]->m_d;
        if ((m_HeadX == m_Blocks[i]->m_x) && (m_HeadY == m_Blocks[i]->m_y)) {
          // 
          m_bSelfTouch = true;
        }
      }
      m_Blocks[0]->m_d = m_Direction;
    };

بررسی بازی Snake ساخته شده با آردوینو

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

مطالب مرتبط

ادامهٔ مطالعه در همین موضوع

برق خورشیدی، انرژی پاک برای آیندهسایر مقالات
۹ دی ۱۴۰۲ 8 دقیقه

برق خورشیدی، انرژی پاک برای آینده

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

ادامهٔ مطلب
سنسور آردوینو - انواع و کاربردهاسایر مقالات
۹ خرداد ۱۴۰۰ 6 دقیقه

سنسور آردوینو - انواع و کاربردها

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

ادامهٔ مطلب