সুচিপত্র:

ফ্লপি বার্ড: 3 টি ধাপ
ফ্লপি বার্ড: 3 টি ধাপ

ভিডিও: ফ্লপি বার্ড: 3 টি ধাপ

ভিডিও: ফ্লপি বার্ড: 3 টি ধাপ
ভিডিও: Flappy Bird - High Score 999! impossible! 2024, জুলাই
Anonim
ফ্লপি বার্ড
ফ্লপি বার্ড
ফ্লপি বার্ড
ফ্লপি বার্ড

আজ আমরা একটি TFT LCD ব্যবহার করে একটি গেম তৈরি করব। এটি এমন একটি গেমের মতো দেখাবে যা সত্যিই জনপ্রিয় এবং এখনও অনেক লোক এই গেমটি খেলে। গেমটিকে ফ্ল্যাপি বার্ড বলা হয় কিন্তু এই গেমটি একটু ভিন্ন কারণ UI যেমন আলাদা তেমনি গেমটি যেভাবে কাজ করে। আমি এই গেমটিকে ফ্লপি বার্ড বললাম কারণ এটি কপিরাইটের সমস্যা হতে পারে। তবুও এটি একটি সত্যিই মজার খেলা এবং এটি তৈরি করা সহজ। আমি এই নির্দেশযোগ্য তৈরি করেছি যা আপনাকে গেমটি সম্পূর্ণরূপে তৈরি করতে এবং এটি আমার মতো কাজ করতে দেবে। যদি আপনার কোন প্রশ্ন থাকে তাহলে অনুগ্রহ করে নিচে মন্তব্য করুন এবং আমি যত দ্রুত সম্ভব এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করবো।

সরবরাহ

- Arduino মেগা 2560 এবং তারের

- আরডুইনো মেগা শিল্ড

- Arduino TFT LCD Arduino Mega 2560 এর সাথে সামঞ্জস্যপূর্ণ

- এসডি কার্ড

ধাপ 1: টিএফটি এলসিডি একত্রিত করা

টিএফটি এলসিডি একত্রিত করা
টিএফটি এলসিডি একত্রিত করা

এখন, আমরা TFT LCD একত্রিত করতে শুরু করতে পারি। আমরা টিএফটি এলসিডি theালের সাথে সংযুক্ত করব, তাই প্রথমে টিএফটি এলসিডি নিন এবং মূলত এটি ieldালের পিনের সাথে সারিবদ্ধ করুন। একবার আপনি পিনের সারিবদ্ধ হয়ে গেলে, টিএফটি এলসিডি নীচে চাপুন যাতে এটি জায়গায় ফিট হয়। যখন সমস্ত পিন হেড shাল থাকে এবং আপনি পিন হেড দেখতে পান না, তখনই আপনি জানেন যে TFT LCD সঠিকভাবে সংযুক্ত। এরপরে, আমরা Arduino Mega 2560 এ ieldাল প্লাগ করতে পারি। Arduino Mega- এ ieldালের পিনগুলিকে সারিবদ্ধ করুন এবং এটি প্লাগ ইন করুন। যখন আপনি জানেন যে TFT LCD সঠিকভাবে সংযুক্ত এবং এটি চালিত হওয়ার জন্য প্রস্তুত। আপনি LCD সঠিকভাবে সংযুক্ত করেছেন কিনা তা দেখতে Arduino এ প্লাগ করুন, যদি LCD চালু হয় এবং পর্দা সাদা হয় তাহলে অভিনন্দন, আপনি সফলভাবে TFT LCD সংযুক্ত করেছেন এবং এখন এটি প্রোগ্রাম করার জন্য প্রস্তুত। সবশেষে, আমাদের একটি কাজ করতে হবে, তা হল LCD তে SD কার্ড সংযুক্ত করা। টিএফটি এলসিডির পিছনে একটি এসডি কার্ড স্লট রয়েছে যেখানে আপনি কেবল এসডি কার্ডটি প্লাগ করতে পারেন। অতএব, শুধু এটি প্লাগ ইন করুন এবং এটি সম্পন্ন।

পদক্ষেপ 2: TFT LCD প্রোগ্রামিং

TFT LCD প্রোগ্রামিং
TFT LCD প্রোগ্রামিং

এখন, আমরা LCD প্রোগ্রাম করব যাতে এটি গেমটি চালায় এবং আমরা এটি খেলতে পারি। Arduino IDE ব্যবহার করে আপনাকে যে কোডটি কম্পাইল এবং আপলোড করতে হবে তা নিচে দেওয়া হল।

আপনার সমস্যা থাকতে পারে:

আপনার কাছে থাকা মডেল অনুসারে TFT LCD এর প্যারামিটার পরিবর্তন করুন।

সম্পূর্ণ কোড:

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

// ==== অবজেক্ট তৈরি করা

UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // প্যারামিটারগুলি আপনার ডিসপ্লে/শিল্ড মডেল URTouch myTouch (6, 5, 4, 3, 2) এর সাথে সামঞ্জস্য করা উচিত;

// ==== ফন্ট সংজ্ঞায়িত করা

extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;

বহি স্বাক্ষরবিহীন int bird01 [0x41A]; // পাখির বিটম্যাপ

int x, y; // সমন্বয়গুলির জন্য ভেরিয়েবল যেখানে ডিসপ্লে চাপানো হয়েছে

// ফ্লপি বার্ড

int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; int স্কোর = 0; int lastSpeedUpScore = 0; int সর্বোচ্চ স্কোর; বুলিয়ান স্ক্রিনপ্রেসড = মিথ্যা; বুলিয়ান খেলা শুরু = মিথ্যা;

অকার্যকর সেটআপ() {

// ডিসপ্লে myGLCD. InitLCD () শুরু করুন; myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); সর্বোচ্চ স্কোর = EEPROM.read (0); // EEPROM initiateGame () থেকে সর্বোচ্চ স্কোর পড়ুন; // খেলা শুরু করুন}

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

xP = xP- চলমান হার; // xP - x পিলারের সমন্বয়; পরিসীমা: 319 - (-51) ড্রপিলার (xP, yP); // স্তম্ভ আঁকেন // yB - y পাখির সমন্বয় যা পতনের মান নির্ভর করে পরিবর্তনশীল হার yB+= fallRateInt; fallRate = fallRate+0.4; // প্রতিটি অনুপ্রবেশ পতনের হার বৃদ্ধি পায় যাতে আমরা ত্বরণ/ মহাকর্ষের প্রভাব পড়তে পারি fallRateInt = int (fallRate); // সংঘর্ষের জন্য পরীক্ষা করে যদি (yB> = 180 || yB <= 0) {// উপরের এবং নীচের gameOver (); } যদি ((xP = 5) && (yB <= yP-2)) {// উপরের স্তম্ভ gameOver (); } যদি ((xP = 5) && (yB> = yP+60)) {// নিম্ন স্তম্ভ gameOver (); } // পাখি drawBird (yB);

// স্তম্ভটি পর্দার মধ্য দিয়ে যাওয়ার পরে

যদি (xPRESET = 250) && (x = 0) && (y = 0) && (x = 30) && (y = 270) {myGLCD.setColor (0, 200, 20); myGLCD.fillRect (318, 0, x, y-1); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, 0, x-1, y);

myGLCD.setColor (0, 200, 20);

myGLCD.fillRect (318, y+81, x, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, y+80, x-1, 204); } অন্যথায় যদি (x <= 268) {// স্তম্ভের ডানদিকে নীল আয়তক্ষেত্র আঁকেন myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // পিলার myGLCD.setColor (0, 200, 20) আঁকে; myGLCD.fillRect (x+49, 1, x+1, y-1); // myGLCD.setColor (0, 0, 0) পিলারের কালো ফ্রেম আঁকছে; myGLCD.drawRect (x+50, 0, x, y); // স্তম্ভের বাম নীল আয়তক্ষেত্র আঁকেন myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);

// নিচের স্তম্ভ

myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, y+80, x+60, 204); myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, y+81, x+1, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x+50, y+80, x, 204); myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, y+80, x-3, 204); } // স্কোর myGLCD.setColor (0, 0, 0) আঁকে; myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (স্কোর, 100, 220); }

// ====== drawBird () - কাস্টম ফাংশন

অকার্যকর drawBird (int y) {// পাখি আঁকা - বিটম্যাপ myGLCD.drawBitmap (50, y, 35, 30, bird01); // পাখির উপরে এবং নীচে নীল আয়তক্ষেত্র আঁকে যাতে তার প্রিভিয়াস স্টেট myGLCD.setColor (114, 198, 206) মুছে যায়; myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== গেমওভার () - কাস্টম ফাংশন অকার্যকর গেমওভার () {বিলম্ব (3000); // 1 সেকেন্ড // পর্দা সাফ করে এবং myGLCD.clrScr () লেখাটি প্রিন্ট করে; myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("গেম ওভার", সেন্টার, 40); myGLCD.print ("স্কোর:", 100, 80); myGLCD.printNumI (স্কোর, 200, 80); myGLCD.print ("পুনরায় চালু হচ্ছে …", কেন্দ্র, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, কেন্দ্র, 150); বিলম্ব (1000); myGLCD.printNumI (1, কেন্দ্র, 150); বিলম্ব (1000); // EEPROM এ সর্বোচ্চ স্কোর লিখে যদি (স্কোর> সর্বোচ্চ স্কোর) {highestScore = score; EEPROM.write (0, highestScore); } // অবস্থান মান xP = 319 শুরু করতে ভেরিয়েবল রিসেট করে; yB = 50; fallRate = 0; স্কোর = 0; lastSpeedUpScore = 0; চলমান হার = 3; খেলা শুরু = মিথ্যা; // খেলা পুনরায় আরম্ভ করুন initiateGame (); }

ধাপ 3: সম্পন্ন

সম্পন্ন!
সম্পন্ন!

আমরা সার্কিট তৈরি করেছি এবং কোডটি কম্পাইল করেছি। এখন, আমাদের কেবল আরডুইনো মেগা প্লাগ করতে হবে এবং গেমটি খেলতে হবে।

এখানে, আমার কাছে একটি ভিডিওর লিঙ্ক রয়েছে যা দেখায় যে এই গেমটি কীভাবে কাজ করে এবং এটি সেট আপ করার জন্য কী করতে হবে:

drive.google.com/file/d/18hKQ8v2w2OkM_std-…

নিচে কোন সমস্যা হলে আমাকে জানান।

প্রস্তাবিত: