תוכן עניינים:

"דולר הנינג'ה" המשחק לארדואינו: 3 שלבים
"דולר הנינג'ה" המשחק לארדואינו: 3 שלבים

וִידֵאוֹ: "דולר הנינג'ה" המשחק לארדואינו: 3 שלבים

וִידֵאוֹ:
וִידֵאוֹ: אל תיגע לבחורה באיפור בחייםםם !!!! don't do that !!! 2024, נוֹבֶמבֶּר
Anonim
תמונה
תמונה

עוד משחק וידאו עבור arduino.it הוא משחק מעולה הוא מתקדם יותר מהאחרון שאני מפרסם.למה הוא יותר מורכב מאחרים?

אספקה

  1. ארדואינו.
  2. לוח לחם
  3. חוטי מגשר
  4. LED אדום
  5. 2 כפתורי לחיצה
  6. 2 נגדים של 10k אוהם
  7. 2 נגדים 220R.
  8. LED כחול סופר בהיר.
  9. זמזם פיצו
  10. צג LCD 16*2

שלב 1: חיבור הכל ביחד

חיבור הכל ביחד
חיבור הכל ביחד

עכשיו אתה צריך לחבר הכל

שלב 2: איך לשחק:

  1. הפעל את הארדואינו.
  2. ה- LCD אמור להדפיס: "המשחק מתחיל ב" וספירה לאחור.
  3. לחץ על אחד הלחצנים כדי לקפוץ ואחר כדי לצלם.
  4. כל בלוק שאתה קופץ זכית בנקודה אחת וכל * שתופס נותן לך 5 נקודות.
  5. כשיש לך 50 נקודות ומעלה זכית

שלב 3: הקוד

// este jogo e muito interessante e ao mesmo tempo irritante 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; זמזם int int = 7; נקודה ארוכה ללא סימן = 0; // set buttonstates bool buttonState1 = 0; bool buttonState2 = 0; // מספר אקראי למיקום המכשולים ב- randomNums [6]; // מספר אקראי למספר המכשולים int randomNum = 0; // מספר אקראי למיקום pts int randomNums1 [3]; // מספר אקראי למספר הנקודות int randomNum1 = 0; // זמן עיכוב התחלה, המצטמצם בהדרגה ללא חתום int myDelay = 500; // עשה את זה בוליאני לבדוק אם לחצו על כפתור 2 כי אם הוא נלחץ פעם אחת בלולאה הראשונה אני רוצה שלא ייכתבו מכשולים עד שתסתיים בו bop temp = 0; // משתנה זה מאחסן את עמדות הלוחם בזמן שהוא יורה. יכולות להיות 16 עמדות מכיוון שללוחם יש 16 עמדות. int tempI [16]; // אני משתמש בבולאני זה כדי לבדוק אם הנקודה נתפסת bool temp1 = 0;

// השתמש במשתנה זה כדי לאחסן את המיקום של הנקודה הנתפסת. זה חייב להיות מערך כדי לאחסן את המיקום של כל הנקודות באיטרציה אחת של הלולאה הראשונה. אם היא שמרה רק מיקום אחד, אז הנקודה ה"ישנה "תחזור באיטרציה החדשה

int tempI1 [3]; // השתמש במשתנה זה בכדי לקבל מספר יריות של הלוחם, שהוא גם אורך של tempI int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

הגדרת בטל () {

// הגדר את מספר העמודות והשורות של ה- LCD: lcd.begin (16, 2); // הגדר pinMode מצב כפתור (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (באזר, OUTPUT); 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 ();

}

לולאת חלל () {

פה:

randomNum = אקראי (5);

עבור (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print ("VICTORY"); טון (זמזם, 262); עיכוב (200); טון (זמזם, 330); עיכוב (200); טון (זמזם, 392); עיכוב (100); טון (זמזם, 330); עיכוב (100); טון (זמזם, 392); עיכוב (100); טון (זמזם, 523); עיכוב (200); noTone (זמזם); עיכוב (3000); lcd.clear (); לכו לכאן; } אחר lcd.setCursor (15, 0); lcd.print (נק '); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // הצבת מכשולים אם הלוחם לא ירה או שהוא ירה אך הוא גם קפץ אם (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print ("#"); }

}

}

// הגדרת נק '

אם (! temp1) {for (int j = 0; j

}

מוּמלָץ: