ዝርዝር ሁኔታ:

ፍሎፒ ወፍ 3 ደረጃዎች
ፍሎፒ ወፍ 3 ደረጃዎች

ቪዲዮ: ፍሎፒ ወፍ 3 ደረጃዎች

ቪዲዮ: ፍሎፒ ወፍ 3 ደረጃዎች
ቪዲዮ: እንቆርጠው (ክፍል 87)፡ 8/24/22 #blackpodcast #manosphere #blacklivesmatter 2024, ሀምሌ
Anonim
ፍሎፒ ወፍ
ፍሎፒ ወፍ
ፍሎፒ ወፍ
ፍሎፒ ወፍ

ዛሬ እኛ TFT LCD ን በመጠቀም ጨዋታ እንሠራለን። ይህ በእውነቱ ተወዳጅ የሆነ ጨዋታ ይመስላል እና ብዙ ሰዎች አሁንም ይህንን ጨዋታ ይጫወታሉ። ጨዋታው ፍላፒ ወፍ ተብሎ ይጠራል ግን ይህ ጨዋታ ትንሽ የተለየ ነው ምክንያቱም በይነገጹ የተለየ እና ጨዋታው የሚሰራበት መንገድም እንዲሁ። ይህ የቅጂ መብት ጉዳዮችን ሊያስከትል ስለሚችል ይህንን ጨዋታ ፍሎፒ ወፍ ብዬ ጠራሁት። የሆነ ሆኖ በጣም አስደሳች ጨዋታ ነው እና እሱን ለመሥራት ቀላል ነው። ጨዋታውን ሙሉ በሙሉ እንዲሠሩ እና እንደ እኔ እንዲሠራ የሚያስችለውን ይህንን ትምህርት ሰጪ አድርጌያለሁ። ማናቸውም ጥያቄዎች ካሉዎት እባክዎን ከዚህ በታች አስተያየት ይስጡ እና እነዚህን ጥያቄዎች በተቻለ ፍጥነት ለመመለስ እሞክራለሁ።

አቅርቦቶች

- አርዱዲኖ ሜጋ 2560 እና ገመድ

- አርዱዲኖ ሜጋ ጋሻ

- አርዱዲኖ TFT ኤልሲዲ ከአርዱዲኖ ሜጋ 2560 ጋር ተኳሃኝ

- ኤስዲ ካርድ

ደረጃ 1 - TFT LCD ን መሰብሰብ

የ TFT LCD ን መሰብሰብ
የ TFT LCD ን መሰብሰብ

አሁን ፣ TFT LCD ን መሰብሰብ መጀመር እንችላለን። TFT LCD ን ከጋሻው ጋር እናገናኘዋለን ፣ ስለዚህ በመጀመሪያ የ TFT LCD ን ይውሰዱ እና በመሠረቱ በጋሻው ላይ ካስማዎች ጋር ያስተካክሉት። ካስማዎቹን አንዴ ካስተካከሉ ፣ በቦታው እንዲስማማ TFT LCD ን ወደ ታች ይግፉት። ሁሉም የፒን ራሶች በጋሻው ውስጥ ሲሆኑ የፒን ጭንቅላቶችን ማየት በማይችሉበት ጊዜ ፣ TFT LCD በትክክል መገናኘቱን ሲያውቁ ነው። በመቀጠልም ጋሻውን ወደ አርዱዲኖ ሜጋ 2560 መሰካት እንችላለን። በአርዱዲኖ ሜጋ ላይ የጋሻውን ፒን ያስተካክሉ እና ይሰኩት። ሁሉም የፒን ራሶች በአርዱዲኖ ሜጋ ውስጥ ሲሆኑ የፒን ጭንቅላቶችን ማየት አይችሉም ፣ ያ ነው የ TFT LCD በትክክል እንደተገናኘ እና ለማብራት ዝግጁ መሆኑን ሲያውቁ። ኤልሲዲውን በትክክል ማገናኘቱን ለማየት አርዱዲኖን ይሰኩ ፣ ኤልሲዲው ከበራ እና ማያ ገጹ ነጭ ከሆነ እንኳን ደስ አለዎት ፣ የ TFT LCD ን በተሳካ ሁኔታ ያገናኙት እና አሁን ለፕሮግራም ዝግጁ ነው። በመጨረሻም ፣ አንድ ማድረግ ያለብን ነገር አለ ፣ ይህም የኤስዲውን ካርድ በኤልሲዲ ውስጥ ማገናኘት ነው። በ TFT LCD ጀርባ ላይ በቀላሉ በ SD ካርድ ውስጥ የሚሰኩበት የ SD ካርድ ማስገቢያ አለ። ስለዚህ ፣ በቀላሉ ይሰኩት እና ተጠናቀቀ።

ደረጃ 2 የ TFT LCD ን ፕሮግራም ማድረግ

TFT LCD ን ፕሮግራም ማድረግ
TFT LCD ን ፕሮግራም ማድረግ

አሁን ጨዋታውን እንዲሠራ እና እኛ መጫወት እንድንችል ኤልሲዲውን ፕሮግራም እናደርጋለን። ከዚህ በታች የአርዱዲኖ አይዲኢን በመጠቀም ማጠናቀር እና መስቀል ያለብዎት ኮድ ነው።

ሊያጋጥሙዎት የሚችሉ ችግሮች ፦

ባለዎት ሞዴል መሠረት የ TFT LCD ን መለኪያዎች ይለውጡ።

የተጠናቀቀ ኮድ ፦

#አካትት #አካትት #አካት

// ==== ነገሮችን መፍጠር

UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // መለኪያዎች ከእርስዎ ማሳያ/ጋሻ ሞዴል URTouch myTouch (6 ፣ 5 ፣ 4 ፣ 3 ፣ 2) ጋር መስተካከል አለባቸው ፤

// ==== ቅርጸ ቁምፊዎችን መግለፅ

ውጫዊ uint8_t SmallFont ; ውጫዊ uint8_t BigFont ; ውጫዊ uint8_t SevenSegNumFont ;

ውጫዊ ያልተፈረመ int bird01 [0x41A]; // የወፍ ቢትማፕ

int x, y; // ማሳያው የተጫነባቸው መጋጠሚያዎች ተለዋዋጮች

// ፍሎፒ ወፍ

int xP = 319; int yP = 100; int yB = 50; int motsiRate = 3; int fallRateInt = 0; ተንሳፋፊ fallRate = 0; int ውጤት = 0; int lastSpeedUpScore = 0; int highestScore; ቡሊያን ማያ ገጽ ተጭኗል = ሐሰት; ቡሊያን ጨዋታ ተጀምሯል = ሐሰት;

ባዶነት ማዋቀር () {

// ማሳያ ጀምር myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); ከፍተኛ ነጥብ = EEPROM.read (0); // ከ EEPROM initiateGame () ከፍተኛውን ውጤት ያንብቡ (); // ጨዋታውን ያስጀምሩ}

ባዶነት loop () {

xP = xP-moveRate; // xP - x የፒላሮች ቅንጅት; ክልል 319 - (-51) drawPilars (xP ፣ yP); // ዓምዶቹን ይስባል // yB - y በወደቁ ተመን እሴት yB+= fallRateInt እሴት ላይ የሚመረኮዝ የወፍ አስተባባሪ; fallRate = fallRate+0.4; // የፍጥነት/ የስበት ውድቀት/ ውጤት/ ውድቀት/ ውጤት/ ውድቀት/ ውጤት/ ውጤት እንዲኖረን እያንዳንዱ የውድቀት መጠን ይጨምራል። // የግጭት (የ yB> = 180 || yB <= 0) {// የላይኛው እና የታችኛው gameOver () ከሆነ ግጭቶችን ይፈትሻል። } ከሆነ ((xP = 5) && (yB <= yP-2)) {// የላይኛው ዓምድ gameOver (); } ከሆነ ((xP = 5) && (yB> = yP+60)) {// የታችኛው ዓምድ gameOver (); } // የወፍ ስዕል ቢርድ (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 () - ብጁ ተግባር

ባዶ ባዶ ቢርድ (int y) {// ወ birdን ይስባል - bitmap 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) ፤ } // ======== gameOver () - ብጁ ተግባር ባዶ gameOver () {መዘግየት (3000); // 1 ሰከንድ // ማያ ገጹን ያጸዳል እና ጽሑፉን ያትማል myGLCD.clrScr (); myGLCD.setColor (255 ፣ 255 ፣ 255) ፤ myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 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 ውስጥ ከፍተኛውን ውጤት ይጽፋል (ውጤት> ከፍተኛ ነጥብ) {ከፍተኛ ነጥብ = ውጤት; EEPROM. ጻፍ (0 ፣ ከፍተኛ ነጥብ); } // የአቀማመጥ እሴቶችን ለመጀመር ተለዋዋጭዎቹን ዳግም ያስጀምራል xP = 319; yB = 50; fallRate = 0; ውጤት = 0; lastSpeedUpScore = 0; moveRate = 3; gameStarted = ሐሰት; // ጨዋታውን እንደገና ያስጀምሩ ጨዋታ (); }

ደረጃ 3: ተከናውኗል

ተከናውኗል!
ተከናውኗል!

እኛ ወረዳውን ሰርተን ኮዱን አጠናቅረናል። አሁን ፣ እኛ በአርዱዲኖ ሜጋ ውስጥ መሰካት እና ጨዋታውን መጫወት አለብን።

እዚህ ፣ ይህ ጨዋታ እንዴት እንደሚሰራ እና እሱን ለማዋቀር ምን ማድረግ እንዳለበት የሚያሳይ ቪዲዮ አገናኝ አለኝ።

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

ከዚህ በታች ማንኛውም ችግሮች ካሉዎት ያሳውቁኝ።

የሚመከር: