Съдържание:
Видео: Игра Space Space Race версия 2: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Здравейте на всички. Преди тази версия на играта публикувах първата версия на играта. Днес ще ви покажа 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 => Скорост
Препоръчано:
Саймън игра - забавна игра !: 5 стъпки
Simon Game - Fun Game !: Справка: Тук След дългия уикенд трябва наистина да се постараете да изпълните всички задачи и работа, за която отговаряте. Време е да тренираме мозъка си, нали? Освен тези скучни и безсмислени игри, има и игра, наречена Simon Game
Aruduino LED игра Бързо щракване Игра за двама играчи: 8 стъпки
Aruduino LED игра Бързо щракване на игра за двама играчи: Този проект е вдъхновен от @HassonAlkeim. Ако искате да разгледате задълбочено, ето линк, който можете да проверите https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Тази игра е подобрена версия на Alkeim's. Това е
Версия на играта Arduino Space Race _1: 5 стъпки
Версия на играта Arduino Space Race _1: Хей приятели. Днес аз ще ви покажа как можете да направите Space Race Game от LCD5110 екран и joystic. Нека да разгледаме стъпките
8x16 LED матрична понг игра (2 гребла на версия на играч): 3 стъпки
8x16 LED Matrix Pong Game (2 гребла на играч): Вдъхновен съм от много варианти на класическата Pong игра, реализирана на Arduino, използвайки 8x8 LED матрица. В тази инструкция ще ви покажа как да създам любимата си версия на понг, която има две гребла - нападател и вратар - на играч
Игра за бърза реакция: Разстояние версия: 5 стъпки (със снимки)
Игра за бърза реакция: Разстояние Версия: Здравей. Това е инструкция за това как да създадете игра, която тества както времето за реакция, така и чувството за разстояние. Този проект се основава на стар проект, в който участвах двама играчи, които се състезаваха да видят кой е имал по -бързо време за реакция, като натисна бутон с