সুচিপত্র:

Arduino Space Race Game Version _1: 5 ধাপ
Arduino Space Race Game Version _1: 5 ধাপ

ভিডিও: Arduino Space Race Game Version _1: 5 ধাপ

ভিডিও: Arduino Space Race Game Version _1: 5 ধাপ
ভিডিও: Can You Reattach a Severed Finger? 🤔 2024, নভেম্বর
Anonim
Image
Image

হে বন্ধুরা। আজ আমি আপনাকে দেখাব কিভাবে আপনি LCD5110 স্ক্রিন এবং জয়স্টিক দ্বারা একটি স্পেস রেস গেম তৈরি করতে পারেন।

ধাপ 1: প্রয়োজন

স্কিমা
স্কিমা

আমি এই প্রকল্পটি তৈরি করতে ব্যবহৃত অংশগুলির একটি তালিকা এখানে দিয়েছি:

  • আরডুইনো ইউএনও
  • জয়স্টিক মডিউল
  • জাম্পার ওয়্যারস (পুরুষ থেকে পুরুষ এবং পুরুষ থেকে মহিলা)
  • ব্রেডবোর্ড

ধাপ 2: স্কিমা

VCC -> Arduino 5V

BL -> Arduino পিন 3

GND -> Arduino GND

CLK (SCLK) -> Arduino পিন 8

DIN (MOSI) -> Arduino পিন 9

ডিসি -> আরডুইনো পিন 10

সিই বা সিএস -> আরডুইনো পিন 12

আরএসটি (রিসেট) -> আরডুইনো পিন 11

ধাপ 3: কোড

কোড
কোড

কোডটিতে কোড ফাংশনের ব্যাখ্যা আছে। আপনি সহজেই বুঝতে পারবেন। যদি আপনার কোন সমস্যা হয়, আপনি আমার সাথে যোগাযোগ করতে পারেন।

#অন্তর্ভুক্ত

LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)

int BL = 3;

extern uint8_t SmallFont ; // বাহ্যিক uint8_t MediumNumbers ; বাহ্যিক uint8_t arac ; // আমাদের আকৃতির বাহ্যিক uint8_t dusman_araci বর্ণনা করুন; // desribe শত্রু আকৃতি const int xpin = A0; // জয়স্টিক x পিন চার পজিসিয়ন = 2; // অবস্থান বর্ণনা, আমাদের আকৃতি শুরু অবস্থান 2 বুলিয়ান কন্ট্রোল = সত্য; বুলিয়ান দুসমান ওল্ডু = সত্য; int skor = 0; int hiz = 0; int dusmanKonumu1; // শত্রু 1 এক্স অবস্থান int dusmanKonumu2 বর্ণনা; // শত্রু 2 এক্স অবস্থান int dusmaninYdeKonumu বর্ণনা; // শত্রুদের অবস্থান বর্ণনা করুন

শূন্য dusmanAraci (int yer, int asama) {// শত্রু আকৃতির জন্য অবস্থান সেট করুন

if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // শত্রুর আকৃতি আঁকুন} যদি (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } যদি (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}

অকার্যকর oyunBitti () {// যদি আমরা ব্যর্থ হই, খেলা শেষ

যখন (1) {বিলম্ব (100); // অপেক্ষা করুন 1 মিলিসেকেন্ড lcd.clrScr (); // পর্দা সাফ করুন lcd.setFont (SmallFont); // সেট ফন্ট lcd.print ("গেম ওভার", সেন্টার, 20); // প্রিন্ট lcd.update (); // পর্দা আপডেট করুন}}

অকার্যকর সেটআপ () {পিনমোড (বিএল, আউটপুট); // সেট ব্যাক লাইট আউটপুট lcd. InitLCD (); // এলসিডি স্ক্রিন চালু করুন lcd.setContrast (55); // সেট কনট্রাস্ট (amound 0 থেকে 127) Serial.begin (9600); // সিরিয়াল সম্প্রচার শুরু করুন}

অকার্যকর লুপ () {

analogWrite (BL, 200);

// সেট গেম স্ক্রিন lcd.drawRect (0, 0, 47, 47); // আমরা আয়তক্ষেত্র আঁকা lcd.setFont (SmallFont); // সেট ফন্ট lcd.print ("skor", 53, 0); // printf স্কোর lcd.setFont (MediumNumbers); // সেট ফন্ট lcd.printNumI (skor, 59, 7); // স্কোর পান lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // মুদ্রণ গতি lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // গতি পেতে lcd.update (); //হালনাগাদ

// জয়স্টিক অবস্থান int x = analogRead (xpin) সেট করুন; if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 এবং নিয়ন্ত্রণ সত্য pozisyon ++; // লোকেশন বাড়ান মানে ডানদিকে আকৃতি সরান kontrol = false; } অন্যথায় যদি (x> 300 && x <600) {kontrol = true; } Serial.println (x); // x অবস্থা শেখার জন্য // আমাদের আকৃতির অবস্থান lcd.clrScr () সেট করুন; // পর্দা সাফ করুন যদি (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // আমাদের জাহাজটি আঁকুন যদি (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}

যদি (pozisyon == 3) {

lcd.drawBitmap (34, 37, arac, 12, 8);}

যদি (dusmanOldu) {// যদি শত্রুর আকৃতি মরে থাকে, তাহলে চেক করুন তারা মৃত

dusmanKonumu1 = pozisyon; // প্রথম শত্রুর আকৃতি আঁকুন dusmanKonumu2 = এলোমেলো (0, 4); // অন্য কোথাও শত্রুর আকৃতি আঁকুন dusmaninYdeKonumu = 0; // উপরে থেকে শত্রু নিয়ে আসুন dusmaninYdeKonumu ++; // প্রথম শত্রুর আকৃতি আঁকুন এবং এটি উপরে থেকে নীচে পান dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // দ্বিতীয় শত্রুর আকৃতি আঁকুন এবং উপরে থেকে নীচে নিয়ে আসুন যদি // খেলা শেষ হলে (dusmaninYdeKonumu> 40) {// যদি আমাদের আকৃতি শত্রুদের কাছ থেকে পালিয়ে যায় dusmanOldu = সত্য; // শত্রুদের আকৃতির স্কোর ++;} // এক এক করে স্কোর বাড়ান // স্কোর অনুযায়ী গতি বাড়ান যদি (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; বিলম্ব (40); }}

ধাপ 4: কোড বিটম্যাপ

উপরন্তু, আপনাকে আকারের জন্য বিটম্যাপ গ্রাফিক অন্তর্ভুক্ত করতে হবে এটি একটি.c ফাইল এবং কোড নাম সহ একই নাম হতে হবে। এছাড়াও, এটি একই ফাইলে থাকতে হবে।

// ------------------------------------------------ ------------------------------ // এলসিডি সহকারী দ্বারা তৈরি ফাইল // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #অন্তর্ভুক্ত // প্রোগেম ফাংশনের জন্য অন্তর্ভুক্ত

const unsigned char arac PROGMEM = {// আমাদের আকৃতির বিটম্যাপ

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

const unsigned char dusman_araci PROGMEM = {// শত্রু জাহাজ বিটম্যাপ

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};

ধাপ 5: দেখার জন্য ধন্যবাদ

দেখার জন্য ধন্যবাদ
দেখার জন্য ধন্যবাদ

My আমার প্রকল্পগুলি ভাগ করা শুরু করার আগে, Turkish তুর্কি শব্দে কোডেড করা হয়েছে যাতে আমি প্রতিটি শব্দকে ইংরেজিতে সুযোগ দিতে পারি না। এই শব্দগুলির অনুবাদ যা এই প্রকল্পটি ব্যবহার করে, Oyun = খেলা

আরাক = আকৃতি

দুসমান = শত্রু

কন্ট্রোল = নিয়ন্ত্রণ

Konum, Yer = অবস্থান

Oyun Bitti = খেলা শেষ

স্কোর = স্কোর

হিজ = গতি

প্রস্তাবিত: