جدول المحتويات:
فيديو: الإصدار 2: 5 خطوات من لعبة Space Race
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
مرحبا جميعا. قبل إصدار هذه اللعبة ، قمت بنشر الإصدار الأول من اللعبة. اليوم ، سأريك الإصدار الثاني من لعبة Space Race. لنلقِ نظرة على الخطوات …
الخطوة 1: الأجزاء
فيما يلي قائمة بالأجزاء التي استخدمتها لإنشاء هذا المشروع:
- اردوينو UNO
- وحدة جويستيك
- أسلاك العبور (ذكر إلى ذكر ومن ذكر إلى أنثى)
- اللوح
الخطوة 2: المخطط
VCC -> Arduino 5V
BL -> Arduino pin 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Arduino pin 10
CE أو CS -> Arduino pin 12
RST (إعادة تعيين) -> Arduino pin 11
الخطوة 3: الكود
يحتوي الكود على تفسيرات لوظائف الكود. سوف تفهمها بسهولة. إذا كانت لديك مشكلة ، يمكنك الاتصال بي.
#يشمل
LCD5110 LCD (8 ، 9 ، 10 ، 11 ، 12) ؛ // (clk، cin، dc،، rst، ce)
كونترول منطقي = صحيح ؛
منطقية dusmanoldu = صحيح ؛
خارجي uint8_t SmallFont ؛ // وصف الخطوط
خارجي uint8_t MediumNumbers ؛ uint8_t arac خارجي ؛ // وصف الشكل الخارجي uint8_t dusmanAraci ؛ // وصف شكل العدو const int xpin = A0 ؛ // عصا التحكم x pin 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 في dusmaninYdekonumu؛
void oyunEkrani () {// ضبط شاشة اللعبة
lcd.clrScr () ، lcd.drawRect (0 ، 0 ، 47 ، 47) ؛ // نرسم شاشة lcd.setFont (SmallFont) ؛ // set font lcd.print ("skor"، 57، 1) ؛ // طباعة النتيجة lcd.print ("hiz"، 60، 24) ؛ // سرعة الطباعة lcd.setFont (أرقام متوسطة) ؛ // تعيين الخط 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 ()؛} إذا (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"، CENTER، 8) ؛ // print game over lcd.print ("skorunuz ="، 3، 30) ؛ // طباعة درجاتك lcd.setFont (أرقام متوسطة) ؛ lcd.printNumI (سكور ، 60 ، 25) ؛ // الحصول على آخر نتيجة lcd.update () ؛ }}
الإعداد باطل() {
pinMode (BL ، الإخراج) ؛ // تعيين ضوء الإخراج pinMode (xpin ، INPUT) ؛ // تعيين x دبوس كإدخال lcd. InitLCD () ؛ // initilaze شاشة lcd lcd.setContrast (55) ؛ // ضبط التباين (حوالي 0 إلى 127) Serial.begin (9600) ؛ // بدء الاتصال التسلسلي}
حلقة فارغة() {
analogWrite (BL ، 350) ؛ oyunEkrani () ؛
// joyistic durumu… // تعيين موقع جويستيك …
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 ++ ؛ // قم بزيادة الموقع ، فهذا يعني تحريك الشكل إلى جهة التحكم اليمنى = خطأ ؛ } else if (durumx> 300 && durumx <600) {kontrol = true؛ } // pozisyon durumu… // position state… 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 ()؛} إذا (pozisyon == 3) {lcd.drawBitmap (18، 41، arac، 7، 7)؛ lcd.update ()؛} if (pozisyon == 4) {lcd.drawBitmap (26 ، 41، arac، 7، 7)؛ lcd.update ()؛} إذا (pozisyon == 5) {lcd.drawBitmap (34، 41، arac، 7، 7)؛ lcd.update ()؛} إذا (pozisyon == 6) {lcd.drawBitmap (42، 41، arac، 7، 7)؛ lcd.update ()؛}
إذا (dusmanoldu) {// إذا كان شكل العدو ميتًا ، فتحقق من أنهم قد ماتوا
dusmankonum1 = بوزيسيون ؛ // ارسم شكل العدو الأول 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 ++ ؛ if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// if ourb touchi sources (oyun)) ؛ //انتهت اللعبة }
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.
# تضمين // تضمين لوظيفة progmem
const غير موقعة char arac PROGMEM = {// صورة نقطية للشكل
0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ،} ؛
const غير موقعة char dusmanAraci PROGMEM = {// صورة نقطية لسفينة العدو
0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ، 0xFF ،} ؛
الخطوة 5: شكرا على المشاهدة
معنى بعض الكلمات:
Oyun => لعبة
Arac => الشكل
Dusman => العدو
kontrol => التحكم
كونوم ، يير => الموقع
Oyun Bitti => انتهت اللعبة
سكور => النتيجة
Hiz => السرعة
موصى به:
لعبة "Space Impact" مع مستشعر الدوران وشاشة Nokia 5110 LCD: 3 خطوات
لعبة "Space Impact" مع مستشعر الدوران و Nokia 5110 LCD: بعد وفاة Tamagotchi (المشروع الأخير) ، بدأت في البحث عن طريقة جديدة لإضاعة وقتي. قررت برمجة اللعبة الكلاسيكية "Space Impact" على Arduino. لجعل اللعبة أكثر تشويقًا وإمتاعًا ، استخدمت مستشعر جيروسكوب كان لدي
لعبة سيمون - لعبة ممتعة: 5 خطوات
Simon Game - Fun Game !: المرجع: بعد عطلة نهاية أسبوع طويلة ، يجب أن تحاول جاهدًا إكمال جميع المهام والعمل الذي تتحمل مسؤوليته. حان الوقت لتدريب عقولنا ، أليس كذلك؟ إلى جانب تلك الألعاب المملة والتي لا معنى لها ، هناك لعبة تسمى Simon Game
Aruduino LED لعبة النقر السريع لعبة لاعبين: 8 خطوات
Aruduino LED Game Fast Clicking Two Player Game: هذا المشروع مستوحى منHassonAlkeim. إذا كنت على استعداد لإلقاء نظرة عميقة ، هنا رابط يمكنك التحقق من https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. هذه اللعبة هي نسخة محسنة من Alkeim. إنها
لعبة مينيون كوبيكرافت (لعبة مصباح يدوي): 4 خطوات
لعبة Minion Cubecraft (لعبة مصباح يدوي): منذ فترة طويلة كنت أرغب في صنع شعلة لاستخدامها في الظلام ، لكن فكرة وجود كائن أسطواني الشكل بمفتاح تشغيل وإيقاف فقط جعلتني أقاوم عدم القيام بذلك. لقد كان سائدًا جدًا. ثم في أحد الأيام أحضر أخي قطعة صغيرة من ثنائي الفينيل متعدد الكلور
اردوينو لعبة سباق الفضاء الإصدار _1: 5 خطوات
اردوينو لعبة سباق الفضاء الإصدار _1: مرحبًا أيها الأصدقاء. سأريكم اليوم كيف يمكنكم صنع لعبة Space Race بواسطة شاشة LCD5110 وجهاز تحكم جوي