فهرست مطالب:

"دلار نینجا" بازی برای آردوینو: 3 مرحله
"دلار نینجا" بازی برای آردوینو: 3 مرحله

تصویری: "دلار نینجا" بازی برای آردوینو: 3 مرحله

تصویری:
تصویری: کسب درامد روزی ۲ میلیون تومن ازین بازی/ هر دست که ببری 40$ میگیری 2024, جولای
Anonim
تصویر
تصویر

یک بازی ویدئویی دیگر برای arduino. این یک بازی عالی از نسخه قبلی من پیشرفته تر است. چرا پیچیده تر از بازی های دیگر است؟ این بازی پیچیده تر است زیرا می تواند پرش کرده و ضبط کند و دارای نور صوتی و یک روش جدید Cont Point باشد.

تدارکات

  1. آردوینو
  2. تخته نان
  3. سیم های جهنده
  4. LED قرمز
  5. 2 دکمه فشاری
  6. 2 مقاومت 10 کیلو اهم
  7. 2 مقاومت 220R
  8. LED آبی فوق العاده روشن.
  9. وزوز پیزو
  10. نمایشگر LCD 16*2

مرحله 1: سیم کشی همه چیز با هم

سیم کشی همه چیز با هم
سیم کشی همه چیز با هم

حالا باید همه چیز را سیم کشی کنید

مرحله 2: نحوه بازی:

  1. آردوینو را روشن کنید
  2. LCD باید چاپ شود: "بازی شروع می شود" و شمارش معکوس.
  3. یکی از دکمه ها را برای پرش و دیگری را برای شلیک فشار دهید.
  4. هر بلوکی که می پرید یک امتیاز کسب می کنید و هر * که می گیرید 5 امتیاز به شما می دهد.
  5. وقتی 50 امتیاز یا بالاتر دارید برنده می شوید

مرحله 3: کد

// este jogo e muito interessante e ao mesmo tempo irritante و frustante mas muito divertido.

#عبارتند از

const int rs = 12 ، en = 11 ، d4 = 5 ، d5 = 4 ، d6 = 3 ، d7 = 2 ؛

const int buttonPin1 = 1؛ const int buttonPin2 = 6؛ const int buzzer = 7؛ pts طولانی بدون علامت = 0 ؛ // set buttonstates bool buttonState1 = 0؛ bool buttonState2 = 0؛ // شماره تصادفی برای موقعیت موانع در randomNums [6] ؛ // تعداد تصادفی برای تعداد موانع int randomNum = 0؛ // عدد تصادفی برای موقعیت pts int randomNums1 [3] ؛ // تعداد تصادفی برای تعداد pts int randomNum1 = 0؛ // زمان تاخیر شروع ، که به تدریج در myDelay = 500 بدون امضا کاهش می یابد. // این بولی را برای بررسی اینکه آیا دکمه 2 فشار داده شده است بررسی کرد ، زیرا اگر در حلقه اول یک بار فشرده شود ، می خواهم موانع تا انتهای آن نوشته نشوند bool temp = 0؛ // این متغیر موقعیت های جنگجو را هنگام شلیک ذخیره می کند. 16 موقعیت وجود دارد زیرا جنگجو 16 موقعیت دارد. int tempI [16] ؛ // من از این بولی استفاده می کنم تا بررسی کنم که آیا نقطه bool temp1 = 0 گرفته شده است یا خیر.

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

int tempI1 [3] ؛ // از این متغیر برای داشتن تعدادی عکس از جنگجو استفاده کنید که طول یک آرایه tempI int button2IsPressed = 0 است. LCD مایع LiquidCrystal (rs، en، d4، d5، d6، d7)؛

void setup () {

// تعداد ستون ها و سطرهای LCD را تنظیم کنید: lcd.begin (16 ، 2) ؛ // تنظیم حالت pinpode buttonpine (buttonPin1 ، INPUT) ؛ pinMode (buttonPin2 ، INPUT) ؛ pinMode (زنگ ، OUTPUT) ؛ lcd.setCursor (4 ، 0) ؛ lcd.print ("بازی") ؛ lcd.setCursor (2 ، 1) ؛ lcd.print ("شروع می شود") ؛ lcd.print ("5") ؛ تاخیر (1000) ؛ lcd.setCursor (12 ، 1) ؛ lcd.print ("4") ؛ تاخیر (1000) ؛ lcd.setCursor (12 ، 1) ؛ lcd.print ("3") ؛ تاخیر (1000) ؛ lcd.setCursor (12 ، 1) ؛ lcd.print ("2") ؛ تاخیر (1000) ؛ lcd.setCursor (12 ، 1) ؛ lcd.print ("1") ؛ تاخیر (1000) ؛ lcd.clear ()؛

}

حلقه خالی () {

اینجا:

randomNum = تصادفی (5)؛

برای (int i = 0؛ i9 && pts19 && pts29 && pts = 50) {pts = 0؛ myDelay = 500 ؛ lcd.clear ()؛ lcd.setCursor (5 ، 0) ؛ lcd.print ("VICTORY") ؛ لحن (زنگ ، 262) ؛ تأخیر (200) ؛ تن (زنگ ، 330) ؛ تأخیر (200) ؛ لحن (زنگ ، 392) ؛ تأخیر (100) ؛ تن (زنگ ، 330) ؛ تأخیر (100) ؛ لحن (زنگ ، 392) ؛ تأخیر (100) ؛ تن (زنگ ، 523) ؛ تأخیر (200) ؛ noTone (زنگ)؛ تاخیر (3000) ؛ lcd.clear ()؛ رسیدم اینجا ؛ } else lcd.setCursor (15 ، 0) ؛ ال سی دی چاپ (pts) ؛ buttonState1 = digitalRead (buttonPin1) ؛ buttonState2 = digitalRead (buttonPin2) ؛ // تنظیم موانع در صورتی که جنگجو شلیک نکند یا شلیک کند ، اما اگر (! temp) {for (int j = 0؛ jrandomNums [j]) {lcd.setCursor (randomNums [j]، 1)؛ lcd.print ("#")؛ }

}

}

// تنظیم pts

if (! temp1) {for (int j = 0؛ j

}

توصیه شده: