Ik ben nog maar een kind en meestal een amateur bij Arduino. Na het lezen van enkele projecthub-projecten en het leren van Arduino, werd ik geïnspireerd om dit leuke spel te maken. Het kostte niet al te veel debuggen en is echt cool. De code is naar mijn maatstaven redelijk schoon. GENIETEN VAN!! Respecteer en geef commentaar.
Vergeet niet om de bibliotheken in dit programma te downloaden en ze in de directorymap te plaatsen. Als er een fout is dat het de bibliotheek niet kan vinden, gebruik dan gewoon sketch>include library. Reageer als je problemen hebt.
Code
Hill Run v2-codeArduino
De code. Wijzig DUCK_PIN in 3 als u in plaats daarvan een UNO wilt gebruiken. De code is behoorlijk compact en schoon, al zeg ik het zelf./* * Copyright (c) 2020 by Miles C. Een verbeterde versie van hill run met interrupts om de code beter te maken. LET OP DUCK_PIN IS 18 IN PLAATS VAN 4 vanwege interruptmogelijkheden! Hill run, een leuk spel waarbij je over heuvels springt en onder kraaien duikt. Bedrading:Arduino +5V naar breadboard-voedingsbus Arduino Ground naar breadboard-aardbus Springknop met 10k naar beneden trekken naar aarde en naar digitale pin 2 en andere kant naar +5V. Duck-knop met 10k naar beneden trekken naar aarde en naar digitale pin 18 en andere kant naar +5V. Passieve zoemer met één kant op aarde en één kant op digitale PWN pin 5. 16x2 16-pins LCD-scherm met normale arduino-bedrading, zoals in de les voor het lcd-scherm:-K naar massa -A naar +5V -D4 tot D7 naar pinnen 9 t/m 12 -E naar pin 8 -RW naar aarde -RS naar pin 7 -V0 naar potentiometeruitgang, voor helderheid is potentiometer verbonden met +5V en aarde -VDD tot +5V -VSS naar aarde*/#include #include "pitches.h"LiquidCrystal lcd(7, 8, 9, 10, 11, 12);const int JUMP_PIN =2;const int BUZZER_PIN =5;const int DUCK_PIN =18; // verander naar 3 als je in plaats daarvan een UNO wilt gebruiken int JUMP_PITCH =2700; // klinkt wanneer de knop wordt ingedruktconst int JUMP_PITCH_DURATION =50; // klinkt wanneer de knop wordt ingedruktconst int DUCK_PITCH =1350; // klinkt wanneer op de knop wordt gedruktconst int DUCK_PITCH_DURATION =50; // klinkt wanneer de knop wordt ingedruktconst int DIE_PITCH =200; // klinkt op deathconst int DIE_PITCH_DURATION =500; // klinkt op deathconst int TICKSPEED =90; //ms per gametick, 1 gametick per heuvelbeweging.const int JUMP_LENGTH =3; // tekens waar overheen is gesprongen wanneer sprong wordt ingedrukt.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] ={ B000000, 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,};vluchtig int jumpPhase =JUMP_LENGTH + 1;int gameTick =0;int crowX =40;int hillX =25;bool playerY =0;vluchtige bool ducking =LAAG;bool loopBreaker =1;bool crowGo =0;int score =0;void setup() { pinMode(JUMP_PIN, INPUT ); pinMode (BUZZER_PIN, UITGANG); lcd.begin (16, 2); lcd.createChar(0, heuvel); 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), zie Jumping, RISING); attachInterrupt(digitalPinToInterrupt(DUCK_PIN), seeDucking, CHANGE);}void loop() { playerY =0; if (jumpPhase (JUMP_LENGTH + 2) &&!ducking) { jumpPhase =0; toon (BUZZER_PIN, JUMP_PITCH, JUMP_PITCH_DURATION); }} ongeldig seeDucking () { ducking =digitalRead (DUCK_PIN); if (ducking) { jumpPhase =JUMP_LENGTH; toon (BUZZER_PIN, DUCK_PITCH, DUCK_PITCH_DURATION); }}
LEESMIJMarkdown
de informatie"Geniet van dit Hillrun-spel! Spring over heuvels door op springen te drukken en duik onder kraaien door eend vast te houden. NIET CRASHEN! Als je sterft, druk dan op springen om verder te gaan. Score =kraaien gedoken onder + heuvels sprong overGOTO https ://create.arduino.cc/projecthub/PunkyMunky64/lcd-hill-run-v2-runner-game-1b0523 voor meer info.Ik ben pas 12 jaar oud en meestal een amateur bij Arduino. Na het lezen van enkele projecthub-projecten en toen ik Arduino leerde, raakte ik geïnspireerd om dit leuke spel te maken. Het kostte niet al te veel debuggen en is echt cool. De code is behoorlijk schoon volgens mijn normen. GENIET!! Respecteer en geef commentaar. Vergeet niet om de bibliotheken in dit programma te downloaden en plaats ze in de directorymap. Als er een fout is dat het de bibliotheek niet kan vinden, gebruik dan gewoon sketch>include library. Reageer als je problemen hebt.Libraries op https://github.com/PunkyMunky64/HillRun2LibrariesIF YOU WANT OM IN PLAATS EEN UNO TE GEBRUIKEN:verander in de code const int DUCK_PIN in 3. en bedraad de duck-knop opnieuw van pin 18 naar digitale pin 3.Copyright (c) HillRun2.ino door Miles C. 2020 onder GNU General Public License. Bezoek de arduino-pagina die hierboven is gelinkt voor bedradingsschema's en benodigde onderdelen."
Schema's
Schema schakelschema
hillrun2_zp0SI4wns3.fzz
Dit is het HillRun-bedradingsschema. ALS JE IN PLAATS EEN UNO WILT GEBRUIKEN:verander in de code const int DUCK_PIN naar 3. en bedraad de duck-knop opnieuw van pin 18 naar digitale pin 3.