Съдържание:

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

Видео: Игра Space Space Race версия 2: 5 стъпки

Видео: Игра Space Space Race версия 2: 5 стъпки
Видео: Не РАБОТАЕТ ПРИЛОЖЕНИЕ или ОШИБКА Приложения в Play Market на ANDROID Телефоне РЕШЕНИЕ 2024, Ноември
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 => Скорост

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