Оглавление:
Видео: Игра «Доллар ниндзя» для Arduino: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Еще одна видеоигра для arduino. Это отличная игра, более продвинутая, чем та, что я опубликовал. Почему она сложнее других? Она сложнее, потому что она может прыгать и стрелять, имеет звуковой свет и новый метод контроля очков.
Запасы
- Ардуино.
- Макетная плата
- перемычки
- Красный светодиод
- 2 кнопки
- 2 резистора по 10 кОм
- 2 резистора 220R.
- Супер яркий синий светодиод.
- пьезо-зуммер
- ЖК-дисплей 16 * 2
Шаг 1. Соединяем все вместе
Теперь нужно все подключить
Шаг 2: Как играть:
- Включите ардуино.
- На ЖК-дисплее должно появиться сообщение «игра начинается» и обратный отсчет.
- Нажмите одну из кнопок, чтобы прыгать, а другую - стрелять.
- каждый блок, который вы прыгаете, вы выигрываете одно очко, а каждый * пойманный вами блок дает вам 5 очков.
- Когда у вас 50 очков или больше, вы выигрываете
Шаг 3: Код
// este jogo e muito interessante e ao mesmo templication 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; // установить состояние кнопок bool buttonState1 = 0; bool buttonState2 = 0; // случайное число для положения препятствий int randomNums [6]; // случайное число для количества препятствий int randomNum = 0; // случайное число для позиции точек int randomNums1 [3]; // случайное число для количества очков int randomNum1 = 0; // время задержки запуска, которое постепенно уменьшается unsigned int myDelay = 500; // сделал это логическим значением, чтобы проверить, нажата ли кнопка2, потому что если она нажата один раз в первом цикле for, я хочу, чтобы препятствия не записывались до его конца bool temp = 0; // эта переменная хранит позиции воина во время стрельбы. может быть 16 позиций, потому что у воина 16 позиций. int tempI [16]; // я использую это логическое значение, чтобы проверить, захвачена ли точка bool temp1 = 0;
// используйте эту переменную для сохранения положения точки захвата. это должен быть массив и для хранения положения всех точек в одной итерации первого цикла for. если он сохранил только одну позицию, то "старая" точка вернется в новой итерации.
int tempI1 [3]; // используйте эту переменную, чтобы получить количество выстрелов воина, которое также является длиной массива tempI int button2IsPressed = 0; ЖК-дисплей LiquidCrystal (rs, en, d4, d5, d6, d7);
void setup () {
// устанавливаем количество столбцов и строк ЖК-дисплея: lcd.begin (16, 2); // установка режима закрепления кнопки pinMode (buttonPin1, INPUT); pinMode (buttonPin2, ВХОД); 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 = случайный (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 (); перейти сюда; } else lcd.setCursor (15, 0); lcd.print (pts); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // установка препятствий, если воин не стрелял или стрелял, но тоже прыгнул if (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }
}
}
// установка очков
if (! temp1) {for (int j = 0; j
}
Рекомендуемые:
Светодиодная лампа для настроения за 1 доллар с ATtiny13 и WS2812: 7 шагов
Светодиодная лампа для настроения за 1 доллар с ATtiny13 и WS2812: это недорогая лампа для настроения с четырьмя режимами. Радужная искра. Искра света раз за разом движется вверх и постепенно меняет цвет. Радужное свечение. Стабильное свечение, постепенно меняющее цвет 3. Моделирование возгорания свечи 4. Выкл. Вы можете
АРДУИНО НИНДЗЯ ВОИН !!!: 6 шагов
ARDUINO NINJA WARRIOR !!!: Столько людей делали такие ужасные вещи с Arduino! Сегодня Arduino отомстит! Этот робот Arduino отбьет всех захватчиков МЕЧОМ! YAAAAAAA
Превратите электронные весы для ванной в транспортные за <1 доллар: 8 шагов (с изображениями)
Преобразование электронных весов для ванной в транспортные весы за <1 доллар: В моем малом бизнесе мне нужно было взвешивать средние и большие предметы и коробки на напольных весах для транспортировки. Вместо того, чтобы переплачивать за промышленную модель, я использовал цифровые весы для ванной. Я обнаружил, что это достаточно близко для грубой точности, которую я считаю
Сделайте свой собственный симпатичный фетровый чехол для EeePC / нетбука примерно за 8 долларов (и сэкономьте 91 доллар вместо покупки в Redmaloo): 5 шагов (с изображениями)
Сделайте свой собственный красивый фетровый чехол для EeePC / нетбука примерно за 8 долларов (и сэкономьте 91 доллар вместо покупки в Redmaloo): это руководство покажет вам, как сделать свой собственный, очень красивый и хорошо выглядящий ноутбук или даже лучший чехол для нетбука. Он сохранит ваш нетбук, подарит вам коврик для мыши, ощущение использования чего-то уникального, красивого и сделанного вручную, а также приятное ощущение
Минималистичная ИК-ручка: без пайки, за минуту, под доллар: 3 шага
Минималистичная ИК-ручка: без пайки, менее чем за минуту, менее чем за доллар. Мое первое руководство, надеюсь, оно будет полезным: если вы хотите протестировать JC Lee (JC означает Джонни Чанга, но он тоже творит чудеса. ..) или программу Smoothboard на сайте www.smoothboard.net (световые годы впереди, потому что Бун Джин начал