Игра на Arduino Охотник
- Войдите на сайт для отправки комментариев
Пт, 23/12/2016 - 16:06
Запилил интересную игру на ардуинке, можно потренироваться в реакции :)
Схема:
Скетч:
#define target 6 // red led pin int pin = 0; // random choose for turn on led #define difficulty_level 2 //1 - hard,2 - medium,3 - simple int long level = 100000*difficulty_level; void setup() { for(int i = 2; i<= 9; i++) { pinMode(i, OUTPUT); // configurate pin on OUTPUT in cycle digitalWrite(i, 0); } pinMode(10,INPUT); // configurate pin on INPUT for connect button digitalWrite(10,1); // TURN in PULLuo resistor on pin 10 } unsigned long long last_time; //var for save time void flub() //void for blink leds when player lose :( { for(int j = 1; j <=5; j++) { for(int i = 2; i <=5; i++) digitalWrite(i, 1); delay(300); for(int i = 2; i <=5; i++) digitalWrite(i, 0); for(int i = 7; i <=9; i++) digitalWrite(i, 1); delay(300); for(int i = 7; i <=9; i++) digitalWrite(i, 0); } } void win() //void for blinf leds when player win :) { for(int j = 1; j <=5; j++){ for(int i = 2; i <=9; i++) digitalWrite(i, 1); delay(300); for(int i = 2; i <=9; i++) digitalWrite(i, 0); delay(300); } } void loop() { pin = random(2,9); // random choose pin digitalWrite(pin, 1); // turn on this pin last_time = micros(); // remember time while(micros() - last_time <= level) // cycle for wait { // Serial.println(micros()); if (!digitalRead(10)) // if button pushed { if(pin == target) // and if player push button when targed led was swich on { digitalWrite(pin, 0); //swich off led win(); //Launch void win break; // escape } else { digitalWrite(pin, 0); //swich off led flub(); //Launch void flub break; // escape } } } digitalWrite(pin, 0); //swich off led }
Суть игры:
светодиоды переключаются в случайном порядке, когда загорится красный светодиод нужно успеть нажать на кнопку (произвести выстрел) если пал тогда начинают мигать все светодиоды, если нет то перемигиваются синие светодиоды.
И на десерт видео:)
В принципе игру можно доделать для двоих игроков, если вам интересно могу этим занятся :)
Очень интересно!!!Сделайте для двоих игроков. *пошел копировать*
А можно схему не на ардуино мини, а на уно?
а то не понятно, где какой порт
НЕ работает
куда кнопку то подключать?
куда кнопку то подключать?
if
(!digitalRead(10))
// if button pushed
Заработало
я сам наугад подключил
я сам наугад подключил
Спасибо большое, пойду играться)))
Только у меня почему-то медленнее мигают светодиоды, чем на видео.
Только у меня почему-то медленнее мигают светодиоды, чем на видео.
Нашел, можно сложость менять
Да-да, держите нас в курсе ))).
Теперь дополнил игру пьезоэлементом. Когда выйгрываешь или проигрываешь, происходит звуковой сигнал. Очень жду версии для двух игроков ( желательно с счетиком выйгрышей). Будет очень интересно!!!!
А скиньте скетч программы, где вы подключили пьезоэлемент.