Код
Код Hill Run v2 Arduino
Код. Измените DUCK_PIN на 3, если вы хотите использовать вместо этого UNO. Код довольно компактен и чист, если я так говорю. / * * Copyright (c) 2020 by Miles C. Улучшенная версия Hill Run с прерываниями для улучшения кода. ВНИМАНИЕ:DUCK_PIN - 18 ВМЕСТО 4 из-за возможности прерывания! Беги по холмам, веселая игра, в которой вы перепрыгиваете через холмы и ныряете под воронами. Подключение:Arduino + 5V к шине питания макета. Arduino Заземление к шине заземления макетной платы. Кнопка перехода с 10 кОм на землю, с цифровым контактом 2, а с другой стороны - на + 5V. Кнопка Duck с 10k потяните на землю, а на цифровой вывод 18, а другую сторону на + 5V. Пассивный зуммер с одной стороной на землю и одной стороной на цифровом выводе PWN 5. 16x2 16-контактный ЖК-экран с обычной проводкой Arduino, как в уроке для ЖК-экрана:-K на землю -A на + 5V -D4 через D7 на контакты с 9 по 12 -E к контакту 8 -RW к заземлению -RS к контакту 7 -V0 к выходу потенциометра, для яркости потенциометр подключен к + 5V и заземлению -VDD к + 5V -VSS к земле * / # include #include "pitch.h" LiquidCrystal lcd (7, 8, 9, 10, 11, 12); const int JUMP_PIN =2; const int BUZZER_PIN =5; const int DUCK_PIN =18; // измените значение на 3, если вы хотите использовать вместо UNOconst int JUMP_PITCH =2700; // звучит при нажатии кнопки const int JUMP_PITCH_DURATION =50; // звучит при нажатии кнопки const int DUCK_PITCH =1350; // звучит при нажатии кнопки const int DUCK_PITCH_DURATION =50; // звучит при нажатии кнопки const int DIE_PITCH =200; // звучит при смерти int DIE_PITCH_DURATION =500; // звучит при смерти int TICKSPEED =90; // мс на гейм, 1 гейм на ход по холму. const int JUMP_LENGTH =3; // символы перепрыгивают при нажатии перехода. const byte stickStep1 [8] ={B01110, B01110, B00101, B11111, B10100, B00110, B11001, B00001,}; const byte stickStep2 [8] ={B01110, B01110, B00101, B11111, B10100, B00110, B01011, B01000,}; const byte stickJump [8] ={B01110, B01110, B00100, B11111, B00100, B11111, B10001, B00000,}; const byte stickDuck [8] ={B00000, B00000, B00000, B01110, B01110, B11111, B00100, B11111,}; const byte hill [8] ={B00000, B00100, B01010, B01110, B11101, B10101, B11001, B11111,}; const byte crow1 [8] ={B00111, B00100, B00110, B01111, B11111, B01111, B00110, B00111,}; const byte crow2 [8] {B00111, B00110, B01111, B11111, B01111, B00110, B00110, B00111,}; volatile int jumpPhase 1; int jump_hase =JUMTH gameTick =0; int crowX =40; int hillX =25; bool playerY =0; volatile bool ducking =LOW; bool loopBreaker =1; bool crowGo =0; int score =0; void setup () {pinMode (JUMP_PIN, INPUT ); pinMode (BUZZER_PIN, ВЫХОД); lcd.begin (16, 2); lcd.createChar (0, холм); lcd.createChar (1, stickStep1); lcd.createChar (2, stickStep2); lcd.createChar (3, stickJump); lcd.createChar (4, stickDuck); lcd.createChar (5, crow1); lcd.createChar (6, crow2); attachInterrupt (digitalPinToInterrupt (JUMP_PIN), см. Прыжки, Восход); attachInterrupt (digitalPinToInterrupt (DUCK_PIN), см. Ducking, CHANGE);} void loop () {playerY =0; если (jumpPhase (JUMP_LENGTH + 2) &&! ducking) {jumpPhase =0; тон (BUZZER_PIN, JUMP_PITCH, JUMP_PITCH_DURATION); }} void seeDucking () {ducking =digitalRead (DUCK_PIN); если (пригибаясь) {jumpPhase =JUMP_LENGTH; тон (BUZZER_PIN, DUCK_PITCH, DUCK_PITCH_DURATION); }}
README Markdown
информация «Наслаждайтесь этой игрой Hillrun! Прыгайте через холмы, нажимая кнопку прыжка, и ныряйте под ворон, удерживая утку. НЕ РАЗБИВАЙТЕСЬ! Если вы умрете, нажмите прыжок, чтобы продолжить. Оценка =вороны нырнули под + холмы перепрыгнули GOTO https ://create.arduino.cc/projecthub/PunkyMunky64/lcd-hill-run-v2-runner-game-1b0523 для получения дополнительной информации. Мне всего 12 лет, и я в основном любитель Arduino. Прочитав несколько проектов концентраторов проектов и Изучая Arduino, я был вдохновлен на создание этой забавной игры. Она не потребовала слишком много отладки и действительно классная. Код довольно чистый по моим стандартам. НАСЛАЖДАЙТЕСЬ !! Пожалуйста, уважайте и комментируйте. Не забудьте загрузить библиотеки, включенные в эту программу. и поместите их в папку каталога. Если возникла ошибка, заключающаяся в том, что библиотека не может быть найдена, просто используйте sketch> include library. Прокомментируйте, если у вас возникли проблемы. Библиотеки на https://github.com/PunkyMunky64/HillRun2Libraries, ЕСЛИ ВЫ ХОТИТЕ ДЛЯ ИСПОЛЬЗОВАНИЯ UNO INSTEAD:в коде измените const int DUCK_PIN на 3. и перепрограммируйте кнопку утки с контакт 18 к цифровому контакту 3. Авторские права (c) HillRun2.ino Майлза С. 2020 под Стандартной общественной лицензией GNU. Для получения схемы подключения и необходимых деталей посетите страницу Arduino, указанную выше. "