Мазмуну:
Video: "Ниндзя доллары" Arduino үчүн оюн: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Дагы бир видео оюну arduino.it үчүн эң сонун оюн, мен чыгарган акыркыга караганда алда канча өнүккөн. Эмне үчүн ал башкага караганда татаалыраак? Бул татаалыраак, анткени бул секирип, атып, үн жарыгы жана жаңы пункттар cont ыкмасына ээ.
Жабдуулар
- Arduino.
- Breadboard
- секирүүчү зымдар
- Кызыл LED
- 2 баскычтар
- 2 10k ohm резисторлор
- 2 220R каршылыгы.
- Супер ачык көк LED.
- пьезо сигнал
- 16*2 ЖК дисплей
1 -кадам: Бардыгын бириктирүү
Эми баарын зым менен жабыш керек
2 -кадам: Кантип ойноо керек:
- Ардуинону күйгүзүңүз.
- ЖК басып чыгарышы керек: "оюн башталат" жана кайра эсептөө.
- Баскычтардын бирин секирүү үчүн, экинчисин атуу үчүн басыңыз.
- секирген ар бир блоктон сиз бир упайга ээ болдуңуз жана ар бир кармаган * сизге 5 упай берет.
- 50 упай же андан жогору болгондо утуп алдыңыз
3 -кадам: Кодекс
// эсте джого e muito interessante e ao mesmo tempo irritante e 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; белгисиз узун пт = 0; // buttonstates коюу bool buttonState1 = 0; bool buttonState2 = 0; // туш келди тоскоолдуктардын орду үчүн кокустук саны int randomNums [6]; // тоскоолдуктардын саны үчүн туш келди сан int randomNum = 0; // pts int randomNums1 позициясы үчүн туш келди сан [3]; // кокус сан pts int randomNum1 = 0 саны үчүн; // баштоо кечигүү убактысы, бара -бара төмөндөйт unsigned int myDelay = 500; // бул логиканы button2 басылганын текшерүү үчүн жасады, анткени эгер ал цикл үчүн биринчи жолу бир жолу басылса, мен анын аягына чейин тоскоолдуктар жазылбашын каалайм bool temp = 0; // бул өзгөрмө жоокердин аткан кездеги позицияларын сактайт. 16 позиция болушу мүмкүн, анткени жоокердин 16 позициясы бар. int tempI [16]; // мен бул логиканы колдонуп, чекиттин кармалышын текшерүү үчүн bool temp1 = 0;
// кармалган чекиттин ордун сактоо үчүн бул өзгөрмөнү колдонуңуз. бул бардык пункттардын ордун биринчи for циклинин бир итерациясында сактоо үчүн жана массив болушу керек. эгер ал бир гана позицияны сактаса, анда "эски" чекит жаңы итерацияда кайтып келет
int tempI1 [3]; // бул өзгөрмөнү жоокердин бир катар кадрларына ээ болуу үчүн колдонуңуз, ал дагы tempI int button2IsPressed массивинин узундугу = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
жараксыз орнотуу () {
// ЖКнын мамычаларынын жана катарларынын санын орнотуу: lcd.begin (16, 2); // pinMode (buttonPin1, INPUT) клавиша режимин коюу; pinMode (buttonPin2, INPUT); pinMode (ызы -чуу, ЧЫГУУ); 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 ();
}
void loop () {
бул жерде:
randomNum = random (5);
үчүн (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("ЖЕНИШ"); обон (коңгуроо, 262); кечигүү (200); обон (ызы -чуу, 330); кечигүү (200); обон (коңгуроо, 392); кечиктирүү (100); обон (ызы -чуу, 330); кечиктирүү (100); обон (коңгуроо, 392); кечиктирүү (100); обон (коңгуроо, 523); кечигүү (200); noTone (ызы -чуу); кечигүү (3000); lcd.clear (); goto here; } else lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // жоокер атпаса же ал атса, тоскоолдуктарды коюу, бирок ал да секирди, эгерде (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }
}
}
// пункттарды коюу
if (! temp1) {for (int j = 0; j
}
Сунушталууда:
Саймон Оюн - Кызыктуу Оюн !: 5 кадам
Саймон Оюн - Көңүлдүү Оюн !: Шилтеме: Бул жерде Узак дем алыштан кийин, сиз чындыгында бардык тапшырмаларды аткарууга жана сиз жооптуу болгон жумушту аткарууга аракет кылышыңыз керек. Мээбизди машыктыра турган убак келди, туурабы? Ошол кызыксыз жана маанисиз оюндардан тышкары, Simon Game деген оюн бар
Arduino негизделген DIY оюн контролери - Arduino PS2 оюн контроллери - DIY Arduino Gamepad менен Tekken ойноо: 7 кадам
Arduino негизделген DIY оюн контролери | Arduino PS2 оюн контроллери | DIY Arduino Gamepad менен Tekken ойноо: Саламатсыздарбы балдар, оюндарды ойноо ар дайым кызыктуу, бирок өзүңүздүн DIY колдонмо оюнуңузду башкаруучу менен ойноо алда канча кызыктуу. Ошентип, биз бул инструкцияларда arduino pro micro колдонуп оюн контроллерин жасайбыз
KerbalController: Кербал космос программасы үчүн ракеталык оюн үчүн атайын башкаруу панели: 11 кадам (сүрөттөр менен)
KerbalController: ракеталык оюндар үчүн атайын башкаруу панели Kerbal Space программасы: Эмне үчүн KerbalController курулат? Ооба, анткени баскычтарды басуу жана физикалык өчүргүчтөрдү ыргытуу чычканыңызды баскандан алда канча олуттуу сезилет. Айрыкча, бул чоң кызыл коопсуздук ачкычы болгондо, сиз биринчи капкагын ачышыңыз керек, которгучту басыңыз
Оюн сатып алардан мурун сиздин компьютерде оюн иштей тургандыгын кантип текшерсе болот: 4 кадам
Оюн сатып алардан мурун сиздин компьютерде оюн иштей тургандыгын кантип текшерсе болот: Жакында мен досумдан Call of Duty 4 сатып алдым (бекер кошуп алам), анткени анын компьютеринде иштебейт. Ооба, анын компьютери абдан жаңы, жана ал эмнеге иштебей турганын таң калтырды. Ошентип, интернетте бир нече сааттан кийин издеп таптым
Йокозуна ниндзя адилеттүүлүктүн өрчүп баратышы (Камеранын көчүрмөсү штатив адаптери): 5 кадам (сүрөттөр менен)
Yokozuna Ninja Booming Grip of Justice *Керексиз */ нерселер сыяктуу тегиз салынышы керек болгон нерселерди сүрөткө тартып жатканда, eb@y боюнча күрөөгө коюу керек, сиз