Სარჩევი:

Space Race თამაშის ვერსია 2: 5 ნაბიჯი
Space Race თამაშის ვერსია 2: 5 ნაბიჯი

ვიდეო: Space Race თამაშის ვერსია 2: 5 ნაბიჯი

ვიდეო: Space Race თამაშის ვერსია 2: 5 ნაბიჯი
ვიდეო: jeki chani 2024, ნოემბერი
Anonim
Image
Image

Გამარჯობა ყველას. ამ თამაშის ვერსიამდე, ı გამოაქვეყნა თამაშის პირველი ვერსია. დღეს ı გაჩვენებთ Space Race თამაშის ვერსიას 2. მოდით გადავხედოთ ნაბიჯებს…

ნაბიჯი 1: ნაწილები

სქემა
სქემა

აქ მოცემულია იმ ნაწილების სია, რომლებიც მე გამოვიყენე ამ პროექტის შესაქმნელად:

  • Arduino UNO
  • ჯოისტიკის მოდული
  • Jumper Wires (მამაკაცი მამაკაცი და მამაკაცი ქალი)
  • პურის დაფა

ნაბიჯი 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)

ლოგიკური კონტროლი = ჭეშმარიტი;

ბული დუსმანოლდუ = ჭეშმარიტი;

გარე uint8_t SmallFont ; // შრიფტების აღწერა

გარე uint8_t საშუალო ნომრები ; გარეგანი uint8_t arac ; // აღწერეთ ჩვენი ფორმა გარეგანი uint8_t dusmanAraci ; // desribe მტრის ფორმის 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 ადგილმდებარეობა 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 (საშუალო ნომრები); // შრიფტის დაყენება 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 ();} // თუ ადგილმდებარეობა = 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", CENTER, 8); // დაბეჭდე თამაში lcd.print- ზე ("skorunuz =", 3, 30); // დაბეჭდეთ თქვენი ქულა lcd.setFont (საშუალო ნომრები); lcd.printNumI (skor, 60, 25); // მიიღეთ ბოლო ქულა lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // განათების უკან დაყენება გამომავალი pinMode (xpin, INPUT); // დააყენეთ x pin, როგორც შეყვანის lcd. InitLCD (); // LCD ეკრანის დაყენება lcd.setContrast (55); // კონტრასტის დაყენება (ამუნდი 0 -დან 127 -მდე) Serial.begin (9600); // სერიული კომუნიკაციის დაწყება}

ბათილი მარყუჟი () {

analogWrite (BL, 350); oyunEkrani ();

// ჯოისტური დურუმუ… // დააყენეთ ჯოისტიკული მდებარეობა…

int durumx = analogRead (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x მდგომარეობა> 600 და კონტროლი არის ჭეშმარიტი პოზიციონი ++; // მდებარეობის გაზრდა ეს ნიშნავს ფორმის გადატანას მარჯვნივ kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // პოზიციის მდგომარეობა… თუ (პოზიციონი == 1) {// თუ ადგილმდებარეობა = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // დავხატოთ ჩვენი გემი if (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 ();}

თუ (დუსმანოლდუ) {// თუ მტრის ფორმა მკვდარია, შეამოწმეთ ისინი მკვდარია

dusmankonum1 = პოზიციონი; // პირველი მტრის ფორმის დახატვა dusmankonum2 = შემთხვევითი (0, 6); // სხვა მტრის ფორმის დახატვა სადღაც dusmankonum3 = შემთხვევითი (0, 6); dusmankonum4 = შემთხვევითი (0, 6); dusmankonum5 = შემთხვევითი (0, 6); დუსმანინიდეკონუმუ = 0; // მოიყვანე მტერი ზემოდან დუსმანოლდუ = ყალბი;} // მტერი ხელახლა შეიქმნა ისე რომ ისინი არ არიან მკვდრები

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)))) {// თუ ჩვენი ფორმა ეხება მტრის ფორმებს oyunbitti (); //თამაში დასრულდა }

თუ (dusmaninYdekonumu> 42) {// თუ ჩვენი ფორმა გაექცევა მტრებს

დუსმანოლდუ = ჭეშმარიტი; // კლავს მტრის ფორმებს skor ++; // გაზარდე ქულა სათითაოდ}

// skora gore hizi artiriyoruz // სიჩქარის გაზრდა ქულის მიხედვით

if (skor> = 0 && skor = 10 && skor = 20 && skor = 30 && skor = 40 && skor = 50) {hiz = 6; დაგვიანება (5); }

}

ნაბიჯი 4: კოდი BITMAP

გარდა ამისა, თქვენ უნდა შეიტანოთ bitmap გრაფიკული ფორმებისთვის. ეს უნდა იყოს.c ფაილი.

#მოიცავს // მოიცავს პროგრამის ფუნქციისთვის

const unsigned char arac PROGMEM = {// ჩვენი ფორმის ბიტმაპი

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

const unsigned char dusmanAraci PROGMEM = {// მტრის გემის ბიტმაპი

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

ნაბიჯი 5: მადლობა ნახვისთვის

ზოგიერთი სიტყვის მნიშვნელობა:

Oyun => თამაში

არაკი => ფორმა

დუსმანი => მტერი

კონტრო => კონტროლი

კონუმი, იერ => ადგილმდებარეობა

თამაშის Bitti => თამაში დასრულდა

Skor => ანგარიში

Hiz => სიჩქარე

გირჩევთ: