Мазмұны:
- 1 -қадам: БӨЛІМДЕР
- 2 -қадам: SCHEMA
- 3 -қадам: КОД
- 4 -қадам: BITMAP -ті кодтау
- 5 -қадам: Қарағаныңыз үшін рахмет
Бейне: Ғарыштық жарыс ойынының нұсқасы 2: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Барлығына сәлем. Бұл ойын нұсқасынан бұрын мен ойынның бірінші нұсқасын жарияладым. Бүгін мен сізге Space Race Game 2 нұсқасын көрсетемін. Қадамдарды қарастырайық …
1 -қадам: БӨЛІМДЕР
Міне, мен осы жобаны жасау үшін пайдаланған бөліктердің тізімі:
- Arduino UNO
- Джойстик модулі
- Jumper Wires (еркектен еркекке және еркектен әйелге)
- Нан тақтасы
2 -қадам: SCHEMA
VCC -> Arduino 5V
BL -> Arduino түйрегіші 3
GND -> Arduino GND
CLK (SCLK) -> Arduino пин 8
DIN (MOSI) -> Arduino PIN 9
DC -> Arduino штыры 10
CE немесе CS -> Arduino pin 12
RST (қалпына келтіру) -> Arduino түйрегіш 11
3 -қадам: КОД
Кодта код функцияларының түсіндірмелері бар. Сіз оны оңай түсінесіз. Егер сізде мәселе туындаса, маған хабарласа аласыз.
#қосу
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
логикалық бақылау = ақиқат;
логикалық dusmanoldu = ақиқат;
extern uint8_t SmallFont ; // қаріптерді сипаттаңыз
extern uint8_t MediumNumbers ; extern uint8_t arac ; // біздің пішінімізді сипаттаңыз extern uint8_t dusmanAraci ; // жаудың пішінін сипаттау const int xpin = A0; // джойстик x pin char pozisyon = 3; // орналасқан жерді сипаттаңыз, біздің пішіннің басталу орны 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // сипаттау dush1 x location int dusmankonum2; // сипаттама dush2 x location int dusmankonum3; // сипаттау dush3 x location int dusmankonum4; // сипаттау dush4 x location int dusmankonum5; // жауды сипаттау5 x location int dusmaninYdekonumu;
void oyunEkrani () {// ойын экранын орнатыңыз
lcd.clrScr (); lcd.drawRect (0, 0, 47, 47); // lcd.setFont (SmallFont) тіктөртбұрышын саламыз; // шрифтті орнату lcd.print («skor», 57, 1); // басып шығару бағасы lcd.print («hiz», 60, 24); // басып шығару жылдамдығы lcd.setFont (MediumNumbers); // қаріпті орнату lcd.printNumI (skor, 55, 8); // lcd.printNumI баллын алу (hiz, 63, 32); // lcd.update жылдамдығын алу (); }
void dusmanAracidurum (int yer, int asama) {// жаудың пішіндері үшін орындарды орнатыңыз
if (yer == 1) {lcd.drawBitmap (2, asama, dusmanAraci, 7, 7); lcd.update ();} // if location = 1, егер бұл жерді жау жауып тастаса, (yer == 2) {lcd.drawBitmap (10, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 3) {lcd.drawBitmap (18, asama, dusmanAraci, 7, 7); lcd.update (); } if (yer == 4) {lcd.drawBitmap (26, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 5) {lcd.drawBitmap (34, asama, dusmanAraci, 7, 7); lcd.update ();} if (yer == 6) {lcd.drawBitmap (42, асама, dusmanAraci, 7, 7); lcd.update ();}}
void oyunbitti () {// егер біз сәтсіздікке ұшырасақ, ойын аяқталады
while (1) {delay (100); // 1 милисекунд күтіңіз lcd.clrScr (); lcd.setFont (SmallFont); lcd.print («OYUN BITTI», ОРТА, 8); // lcd.print үстіндегі ойынды басып шығару («skorunuz =», 3, 30); // баллды басып шығарыңыз lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // соңғы баллды алу lcd.update (); }}
жарамсыз орнату () {
pinMode (BL, OUTPUT); // артқа қою шамы Шығу pinMode (xpin, INPUT); // x пинін lcd. InitLCD кірісі ретінде орнатыңыз (); // lcd.setContrast (55) lcd экранын бастаңыз; // контрасты орнатыңыз (0 -ден 127 -ге дейін) Serial.begin (9600); // сериялық хабарлауды бастау}
void loop () {
analogWrite (BL, 350); ойынEkrani ();
// джойистикалық жағдай… // джойстиктің орнын орнатыңыз …
int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 және бақылау - бұл дұрыс pozisyon ++; // орынды ұлғайту, бұл пішінді оңға жылжытуды білдіреді kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // позиция жағдайы… // позиция күйі… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // біздің кемені тартыңыз if (pozisyon == 2) {lcd.drawBitmap (10, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 3) {lcd.drawBitmap (18, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 4) {lcd.drawBitmap (26, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 5) {lcd.drawBitmap (34, 41, arac, 7, 7); lcd.update ();} if (pozisyon == 6) {lcd.drawBitmap (42, 41, көлік, 7, 7); lcd.update ();}
if (dusmanoldu) {// егер жаудың пішіні өлген болса, олардың өлгенін тексеріңіз
dusmankonum1 = позиция; // жаудың бірінші формасын сызыңыз dusmankonum2 = кездейсоқ (0, 6); // басқа жерге жау формасын салыңыз dusmankonum3 = кездейсоқ (0, 6); dusmankonum4 = кездейсоқ (0, 6); dusmankonum5 = кездейсоқ (0, 6); dusmaninYdekonumu = 0; // жауды жоғарыдан әкеледі dusmanoldu = жалған;} // жау қайта құрылады, сондықтан олар өлмейді
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // жаудың бірінші пішінін сызыңыз және оны жоғарыдан төмен қарай алыңыз
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // жаудың екінші пішінін сызыңыз және оны жоғарыдан төмен қарай алыңыз dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) ||); // ойын аяқталды}
if (dusmaninYdekonumu> 42) {// егер біздің формамыз жаулардан қашып кетсе
dusmanoldu = ақиқат; // жау формаларын өлтіру skor ++; // ұпайларды бір -бірден жоғарылату}
// skora gore hizi artiriyoruz // ұпайға сәйкес жылдамдықты арттыру
егер (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; кешіктіру (5); }
}
4 -қадам: BITMAP -ті кодтау
Сонымен қатар, пішіндер үшін нүктелік кескін графигін қосу қажет. Бұл файл.c болуы керек.
#include // include функциясына арналған
const unsigned char arac PROGMEM = {// біздің пішіннің нүктелік картасы
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// жау кемелерінің нүктелік картасы
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
5 -қадам: Қарағаныңыз үшін рахмет
Кейбір сөздердің мағынасы:
Ойын => Ойын
Arac => Пішін
Дусман => Жау
kontrol => бақылау
Konum, Yer => Орналасқан жері
Ойын Бити => Ойын аяқталды
Skor => Ұпай
Hiz => Жылдамдық
Ұсынылған:
Пар 3 гольф ойынының автоматты ұпай саны: 12 қадам (суреттермен)
Гольф ойынының 3 -ші атқарушы ойынына автоматты түрде ұпай жинау: Мен жақында портативті және іште де, сыртта да ойнауға болатын қызықты ойын ойнауға арналған нұсқаулықты жарияладым. Ол «Executive Par 3 гольф ойыны» деп аталады. Мен әр ойыншының 9 «саңылауына» ұпай жинау үшін көшірме балл картасын жасадым. Қалай
Төмен құны бар MR ойынының демонстрациясы: 9 қадам
Төмен құны бар MR ойынының демонстрациясы: http://www.bilibili.com/video/av7937721/ (қытай материгіндегі бейне URL) Қарап шығу: Екі осьті ұстағышқа белгі суретін орнатыңыз , Пайдаланушы оны картоннан қараңыз , жабылған монстрты көре аласыз Ойын әлемінде олар бір -бірін атып тастайды. АР көмегімен бұрыштық ставканы анықтаңыз
Arduino Space Race ойынының нұсқасы _1: 5 қадам
Arduino Space Race ойынының нұсқасы _1: Сәлем достар. Бүгін мен сізге LCD5110 экраны мен джойстик арқылы ғарыштық жарыс ойынын қалай жасауға болатынын көрсеткім келеді
Кербал ғарыштық бағдарламасының физикалық кезеңдеу түймесімен ғарыштық ұшырылымды жаңартыңыз: 6 қадам
Ғарыштық ғарыштық бағдарламаның физикалық кезеңдеу түймесімен ғарыштық ұшырылымды жаңартыңыз: Мен жақында Kerbal Space бағдарламасының демо нұсқасын алдым. Кербал ғарыш бағдарламасы - бұл тренажерлық ойын, ол зымырандарды жобалауға және ұшыруға және оларды алыс айлар мен планеталарға бағыттауға мүмкіндік береді. Мен әлі күнге дейін Айға сәтті қонуға тырысамын (о
Ғарыштық жарыс: балалармен жасауға болатын қарапайым Arduino Clicker ойыны: 7 қадам
Ғарыштық жарыс: балалармен бірге жасауға болатын қарапайым Arduino Clicker ойыны: мен бүгін оның қалай жұмыс істейтінін көрсететін бейнені жүктеп жатырмын! Болашақта балалармен бірге жасауға болатын кеңістіктік нұсқаулықпен көңілді болайық, кейін оларды ойыншық ретінде ғана ұнатамыз. Сіз оларды серіктестік туралы тарихты үйрету құралы ретінде пайдалана аласыз