Mundarija:
Video: "Ninja dollari" Arduino uchun o'yin: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
"Arduino.it" ning yana bir ajoyib o'yini - bu oxirgi nashr qilganimdan ko'ra ancha rivojlangan. Nima uchun u boshqasidan ko'ra murakkabroq? Bu murakkabroq, chunki u sakrab, otib, ovozli yorug'lik va yangi nuqta bilan kurashish usuliga ega bo'lishi mumkin.
Ta'minotlar
- Arduino.
- Non paneli
- o'tish simlari
- Qizil LED
- 2 ta tugma
- 2 10k ohmli rezistorlar
- 2 220R qarshilik.
- Super yorqin ko'k LED.
- piezo signal
- 16*2 LCD displey
1 -qadam: Hammasini bir -biriga ulash
Endi siz hamma narsani sim bilan ulashingiz kerak
2 -qadam: qanday o'ynash kerak:
- Arduino -ni yoqing.
- LCD displeyda: "O'yin boshlanadi" va teskari sanoq bosilishi kerak.
- O'tish uchun tugmachalardan birini, otish uchun esa boshqasini bosing.
- Siz sakragan har bir blok siz bitta ochkoni qo'lga kiritgan bo'lsangiz, har bir * ball sizga 5 ball beradi.
- Agar sizda 50 yoki undan yuqori ball bo'lsa, siz g'alaba qozonasiz
3 -qadam: Kod
// vaqt o'tishi bilan, tezlik va tezlikni oshiradi.
#qo'shing
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; belgisiz uzun pts = 0; // tugmachalarni o'rnatish bool buttonState1 = 0; bool tugmasiState2 = 0; // int randomNums [6] to'siqlarning joylashuvi uchun tasodifiy son; // to'siqlar soni uchun tasodifiy son int randomNum = 0; // pts int randomNums1 pozitsiyasi uchun tasodifiy son [3]; // pts soni uchun tasodifiy son int randomNum1 = 0; // boshlanishining kechikish vaqti, bu asta -sekin kamayadi int myDelay = 500; // tugma 2 bosilganligini tekshirish uchun bu booleanni yaratdi, chunki agar u loop uchun birinchi marta bosilsa, men oxirigacha to'siqlar yozilmasligini xohlayman bool temp = 0; // bu o'zgaruvchi otish paytida jangchining pozitsiyalarini saqlaydi. 16 pozitsiya bo'lishi mumkin, chunki jangchi 16 pozitsiyaga ega. int tempI [16]; // nuqta tutilganligini tekshirish uchun bu booleanni ishlataman bool temp1 = 0;
// tutilgan nuqta o'rnini saqlash uchun bu o'zgaruvchidan foydalaning. hamma nuqtalarning o'rnini loop uchun birinchisining bitta iteratsiyasida saqlash uchun bo'lishi kerak. agar u faqat bitta pozitsiyani saqlagan bo'lsa, "eski" nuqta yangi iteratsiyaga qaytadi
int tempI1 [3]; // bu o'zgaruvchidan jangchining bir qancha zarbalarini olish uchun foydalaning, bu ham tempI int tugma qatorining uzunligi 2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
bo'sh o'rnatish () {
// LCD -ning ustunlar va qatorlar sonini o'rnating: lcd.begin (16, 2); // pinMode tugmachalari rejimini o'rnatish (buttonPin1, INPUT); pinMod (tugmaPin2, Kirish); pinMode (signal, OUTPUT); lcd.setCursor (4, 0); lcd.print ("O'YIN"); lcd.setCursor (2, 1); lcd.print ("IN IN STARTS"); lcd.print ("5"); kechikish (1000); lcd.setCursor (12, 1); lcd.print ("4"); kechikish (1000); lcd.setCursor (12, 1); lcd.print ("3"); kechikish (1000); lcd.setCursor (12, 1); lcd.print ("2"); kechikish (1000); lcd.setCursor (12, 1); lcd.print ("1"); kechikish (1000); lcd.clear ();
}
void loop () {
Bu yerga:
randomNum = tasodifiy (5);
uchun (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("G'ALABA"); ohang (ovozli signal, 262); kechikish (200); ohang (buzzer, 330); kechikish (200); ohang (buzzer, 392); kechikish (100); ohang (buzzer, 330); kechikish (100); ohang (buzzer, 392); kechikish (100); ohang (signal, 523); kechikish (200); noTone (ovozli signal); kechikish (3000); lcd.clear (); mana bu yerga; } else lcd.setCursor (15, 0); lcd.print (ballar); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // agar jangchi o'q uzmagan bo'lsa yoki u o'q uzmagan bo'lsa, to'siqlarni o'rnatish, lekin u ham sakragan bo'lsa (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }
}
}
// ballarni sozlash
agar (! temp1) {uchun (int j = 0; j
}
Tavsiya:
Arduino ritmli o'yin boshqaruvchisi (o'z o'yinim uchun): 6 qadam
Arduino Ritm O'yin Boshqaruvchisi (O'zim uchun): Men sizga ko'rsatma beramanki, men bu ritm o'yinini qanday qilib noldan quraman. Bu yog'ochni qayta ishlashning asosiy ko'nikmalarini, 3D bosib chiqarishning asosiy ko'nikmalarini va lehimlashning asosiy ko'nikmalarini o'z ichiga oladi. Agar sizda nol sobiq bo'lsa, ehtimol siz ushbu loyihani muvaffaqiyatli qurishingiz mumkin
Arduino asosidagi DIY o'yin boshqaruvchisi - Arduino PS2 o'yin boshqaruvchisi - DIY Arduino Gamepad bilan Tekken o'ynash: 7 qadam
Arduino asosidagi DIY o'yin boshqaruvchisi | Arduino PS2 o'yin boshqaruvchisi | DIY Arduino Gamepad bilan Tekken o'ynash: Salom bolalar, o'yin o'ynash har doim qiziqarli, lekin o'zingizning shaxsiy o'yiningiz bilan o'ynash yanada qiziqarli, shuning uchun biz ushbu qo'llanmada arduino pro micro yordamida o'yin boshqaruvchisi qilamiz
Kompyuter uchun ARDUINO boshqariladigan o'yin paneli: 5 qadam
Kompyuter uchun ARDUINO boshqariladigan o'yin paneli: Salom bolalar, men Sarveshman. Bir necha kun oldin men retro o'yinlar o'ynashni xohlardim. Shunday qilib, men ularni shaxsiy kompyuterimga o'rnatdim. Lekin men faqat shaxsiy kompyuterim klaviaturasi bilan o'ynashim mumkin edi va bu mening bolalik davrimni his qilmadi. Shunday qilib, men shaxsiy kompyuterim uchun geympad qurishga qaror qildim
"Rangli o'yin" (Refleksli o'yin): 4 qadam
"Rangli o'yin" (Refleksli o'yin): Kirish: Maktab loyihasi uchun men nima qilishni bilmay qoldim, lekin o'ylab ko'rganimdan so'ng, men refleksli o'yin qilishga qaror qildim. Oxir oqibat, biz o'yin maktabimiz. Biz interaktiv va o'ziga xos narsalarni yaratishimiz kerak edi, shuning uchun o'yin juda zo'r bo'lardi! Men hamma narsadan xursandman
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): 11 qadam (rasmlar bilan)
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): Bu sizga raqamli o'yinchoqlar yoki o'yinlar yaratish uchun ishlatilishi mumkin bo'lgan bosim sezgir yostiq yasashni ko'rsatadigan ko'rsatma. U katta kuchga sezgir rezistor sifatida ishlatilishi mumkin va o'ynoqi bo'lsa ham, undan jiddiy loyihalarda foydalanish mumkin edi