Игра Space Space Race версия 2: 5 стъпки
Игра Space Space Race версия 2: 5 стъпки
Anonim
Image
Image

Здравейте на всички. Преди тази версия на играта публикувах първата версия на играта. Днес ще ви покажа Space Race Game версия 2. Нека разгледаме стъпките …

Стъпка 1: ЧАСТИ

СХЕМА
СХЕМА

Ето списък на частите, които използвах, за да направя този проект:

  • Arduino UNO
  • Модул с джойстик
  • Джъмперни проводници (мъжки към мъжки и мъжки към женски)
  • Платка

Стъпка 2: СХЕМА

VCC -> Arduino 5V

BL -> Arduino щифт 3

GND -> Arduino GND

CLK (SCLK) -> Arduino пин 8

DIN (MOSI) -> Arduino щифт 9

DC -> Arduino щифт 10

CE или CS -> Arduino пин 12

RST (RESET) -> Arduino щифт 11

Стъпка 3: КОД

КОД
КОД

Кодът има обяснения за кодови функции. Ще го разберете лесно. Ако имате проблем, можете да се свържете с мен.

#включва

LCD5110 LCD (8, 9, 10, 11, 12); // (clk, cin, dc,, rst, ce)

булев контрол = вярно;

логическо dusmanoldu = вярно;

extern uint8_t SmallFont ; // описват шрифтовете

extern uint8_t MediumNumbers ; extern uint8_t arac ; // описваме нашата форма extern uint8_t dusmanAraci ; // опишете вражеска форма const int xpin = A0; // джойстик x щифт 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 (MediumNumbers); // задаване на шрифт 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 ();} // ако location = 1 нарисувайте вражеска форма на това местоположение if (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 () {// ако не успеем, играта свършва

while (1) {забавяне (100); // изчакайте 1 милисекунда lcd.clrScr (); lcd.setFont (SmallFont); lcd.print ("OYUN BITTI", ЦЕНТЪР, 8); // печат на игра над lcd.print ("skorunuz =", 3, 30); // отпечатате резултата си lcd.setFont (MediumNumbers); lcd.printNumI (skor, 60, 25); // получавам последен резултат lcd.update (); }}

void setup () {

pinMode (BL, OUTPUT); // настройка на задната светлина Output pinMode (xpin, INPUT); // задаваме x pin като входен lcd. InitLCD (); // инициализиране на LCD екрана lcd.setContrast (55); // задаване на контраст (амунд от 0 до 127) Serial.begin (9600); // стартиране на серийна комуникация}

void loop () {

analogWrite (BL, 350); oyunEkrani ();

// джойстик 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 ++; // увеличаване на местоположението означава преместване на фигурата вдясно kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // pozisyon durumu… // състояние на позицията… if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 41, arac, 7, 7); lcd.update ();} // нарисуваме нашия кораб, ако (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 ();}

if (dusmanoldu) {// ако вражеската форма е мъртва, проверете дали са мъртви

dusmankonum1 = позисион; // нарисуваме първа вражеска форма dusmankonum2 = random (0, 6); // нарисуваме друга вражеска форма някъде dusmankonum3 = random (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))) {// ако нашата форма докосне врага оформя oyunbitti (); //играта свърши }

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: КОД БИТМАП

Освен това трябва да включите растерна графика за форми. Трябва да е.c файл.

#include // включва за функция progmem

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: Благодаря за гледането

Значение на някои думи:

Оюн => Игра

Arac => Форма

Dusman => Враг

kontrol => контрол

Konum, Yer => Местоположение

Oyun Bitti => Играта свърши

Skor => Резултат

Hiz => Скорост

Препоръчано: