תוכן עניינים:
וִידֵאוֹ: משחק מירוץ החלל גרסה 2: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
היי לכולם. לפני גרסת המשחק הזו, אני פרסמתי את הגרסה הראשונה של המשחק. היום, אני אראה לכם את משחק מירוץ החלל בגרסה 2. בואו נסתכל על שלבים …
שלב 1: חלקים
להלן רשימה של חלקים בהם השתמשתי לצורך ביצוע הפרויקט:
- ארדואינו UNO
- מודול ג'ויסטיק
- חוטי מגשר (זכר לזכר וזכר לנקבה)
- לוח לחם
שלב 2: סכמה
VCC -> Arduino 5V
BL -> סיכת ארדואינו 3
GND -> Arduino GND
CLK (SCLK) -> סיכת ארדואינו 8
DIN (MOSI) -> סיכת ארדואינו 9
DC -> סיכת ארדואינו 10
CE או CS -> סיכת Arduino 12
RST (איפוס) -> סיכת ארדואינו 11
שלב 3: CODE
הקוד כולל הסברים על פונקציות הקוד. אתה תבין את זה בקלות. אם יש לך בעיה אתה יכול ליצור איתי קשר.
#לִכלוֹל
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)
שליטה בוליאנית = אמת;
dusmanoldu בוליאני = נכון;
חיצוני uint8_t SmallFont ; // תאר את הגופנים
extern uint8_t MediumNumbers ; חיצוני uint8_t arac ; // תאר את צורתנו החיצונית uint8_t dusmanAraci ; // תאר את צורת האויב const int xpin = A0; // ג'ויסטיק x סיכה char pozisyon = 3; // תאר את המיקום, צורת התחלת מיקום 3 int BL = 3; int skor = 0; int hiz = 0; int dusmankonum1; // תאר את האויב 1 x מיקום int dusmankonum2; // תאר את האויב 2 x מיקום int dusmankonum3; // תאר את האויב 3 x מיקום int dusmankonum4; // לתאר אויב 4 x מיקום int dusmankonum5; // תאר את האויב 5 x מיקום 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, asama, dusmanAraci, 7, 7); lcd.update ();}}
void oyunbitti () {// אם נכשל, המשחק נגמר
בעוד (1) {עיכוב (100); // המתן 1 מילישניות lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", CENTRE, 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 lcd.setContrast (55); // הגדר ניגודיות (בין 0 ל -127) Serial.begin (9600); // התחל תקשורת סדרתית}
לולאת חלל () {
analogWrite (BL, 350); oyunEkrani ();
// durumu joyistic… // קבע את המיקום של joyistick…
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; } אחרת אם (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // מצב מצב … if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // צייר את הספינה שלנו אם (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, arac, 7, 7); lcd.update ();}
אם (dusmanoldu) {// אם צורת האויב מתה, בדוק האם הם מתים
dusmankonum1 = pozisyon; // צייר צורת אויב ראשונה dusmankonum2 = אקראי (0, 6); // צייר צורת אויב נוספת במקום כלשהו dusmankonum3 = אקראי (0, 6); dusmankonum4 = אקראי (0, 6); dusmankonum5 = אקראי (0, 6); dusmaninYdekonumu = 0; // להביא את האויב מהחלק העליון dusmanoldu = false;} // האויב יוצר מחדש כדי שלא ימותו
dusmanAracidurum (dusmankonum1, dusmaninYdekonumu); dusmaninYdekonumu ++; // צייר את צורת האויב הראשונה וקבל אותה מלמעלה למטה
dusmanAracidurum (dusmankonum2, dusmaninYdekonumu); dusmaninYdekonumu ++; // צייר את צורת האויב השנייה וקבל אותה מלמעלה למטה dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (dusmankonum4, dusmaninYdekonumu); dusmaninYdekonumu ++; אם (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// אם צורתנו נוגעת בצורות האויב oyunbitti (); //המשחק נגמר }
if (dusmaninYdekonumu> 42) {// אם צורתנו בורחת מאויבים
dusmanoldu = נכון; // להרוג צורות אויב ++; // להגדיל בזה אחר זה את הציון}
// skora gore hizi artiriyoruz // הגדילו את המהירות לפי הציון
אם (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; עיכוב (5); }
}
שלב 4: BITMAP CODE
יתר על כן, עליך לכלול גרפיקת מפת סיביות לצורות. זה חייב להיות קובץ.c.
#include // include עבור פונקציית התוכנה
const uns sign char arac PROGMEM = {// מפת הסיביות של הצורה שלנו
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusmanAraci PROGMEM = {// מפת סיביות של ספינת אויב
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
שלב 5: תודה על הצפייה
פירוש של כמה מילים:
Oyun => משחק
Arac => צורה
דושמן => אויב
kontrol => שליטה
Konum, Yer => מיקום
Oyun Bitti => המשחק נגמר
סקור => ציון
Hiz => מהירות
מוּמלָץ:
פולשי החלל במיקרופיתון במיקרו: ביט: 5 שלבים
Space Invaders ב- Micropython ב- Micro: bit: במאמרים הקודמים שלנו בחנו יצירת משחקים ב- GameGo, קונסולת משחקי רטרו ניידת שפותחה על ידי חינוך TinkerGen. המשחקים שיצרנו הזכירו משחקי נינטנדו ישנים. במאמר של היום, אנחנו הולכים לקחת צעד אחורה, כדי
מערכת מדפים מסתובבים בחוות החלל: 5 שלבים
מערכת מדפים מסתובבים בחוות החלל: זהו ערך מקצועי לתחרות צמיחה מעבר לכדור הארץ. מערכת זו משתמשת בשלוש קבוצות של מתלים מסתובבים המזווגים כל סט חסה עם עוד חבילה בשלב מוקדם יותר כדי למקסם את השטח הניתן לשימוש. כאשר הזרע נבט בתחילה
מרוץ החלל Arduino Space Version _1: 5 שלבים
מרוץ החלל Arduino Space Version _1: היי חברים. היום אני גאנה מראה לך איך אתה יכול להכין משחק מירוץ שטח על ידי מסך LCD5110 וג'ויסטיק
שדרג את שיגור החלל שלך באמצעות לחצן הבמה פיזי לתוכנית החלל הקרבלית: 6 שלבים
שדרג את שיגור החלל שלך באמצעות לחצן הבמה פיזי לתוכנית החלל של קרבל: לאחרונה הרמתי את גרסת ההדגמה של תכנית החלל של קרבל. תכנית החלל קרבל היא משחק סימולטור המאפשר לעצב ולשגר רקטות ולנווט אותן אל ירחים וכוכבי לכת רחוקים. אני עדיין מנסה לנחות בהצלחה על הירח (o
מירוץ החלל: משחק קליקר ארדואינו פשוט לביצוע עם הילדים: 7 שלבים
מירוץ החלל: משחק קליקר ארדואינו פשוט להכין עם הילדים: אני מעלה סרטון שמראה איך זה עובד היום! בואו להשתעשע עם מדריך בנושא חלל שניתן להכין יחד עם ילדים, ובהמשך ליהנות מהם לבד כצעצוע. תוכלו להשתמש בו כאמצעי ללמד אותם היסטוריה על שיתוף פעולה