Оглавление:
Видео: Версия игры Space Race 2: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Привет всем. До этой версии игры я издавал первую версию игры. Сегодня я покажу вам Space Race Game версии 2. Давайте посмотрим шаги…
Шаг 1: ЧАСТИ
Вот список частей, которые я использовал при создании этого проекта:
- Arduino UNO
- Модуль джойстика
- Провода перемычки (мужчина к мужчине и мужчина к женщине)
- Макетная плата
Шаг 2: СХЕМА
VCC -> Arduino 5 В
BL -> вывод 3 Arduino
GND -> Arduino GND
CLK (SCLK) -> вывод 8 Arduino
DIN (MOSI) -> вывод 9 Arduino
DC -> вывод 10 Arduino
CE или CS -> пин 12 Arduino
RST (СБРОС) -> вывод 11 Arduino
Шаг 3: КОД
В коде есть объяснения функций кода. Вы это легко поймете. Если у вас возникла проблема, вы можете связаться со мной.
#включают
LCD5110 жк (8, 9, 10, 11, 12); // (clk, cin, dc`` rst, ce)
логический контроль = истина;
логическое dusmanoldu = true;
extern uint8_t SmallFont ; // описываем шрифты
extern uint8_t MediumNumbers ; внешний uint8_t arac ; // описываем нашу форму extern uint8_t dusmanAraci ; // описание формы врага 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 (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 ();} // if 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 () {// если мы проиграем, игра окончена
в то время как (1) {задержка (100); // ждем 1 миллисекунду lcd.clrScr (); lcd.setFont (Маленький шрифт); lcd.print («ОЮН БИТТИ», ЦЕНТР, 8); // распечатать игру поверх lcd.print ("skorunuz =", 3, 30); // выводим ваш счет lcd.setFont (MediumNumbers); ЖК.printNumI (скор, 60, 25); // получить последний результат lcd.update (); }}
void setup () {
pinMode (BL, ВЫХОД); // установить подсветку Output pinMode (xpin, INPUT); // установить вывод x как вход lcd. InitLCD (); // запускаем ЖК-экран lcd.setContrast (55); // установить контраст (от 0 до 127) Serial.begin (9600); // запускаем последовательную связь}
void loop () {
analogWrite (BL, 350); oyunEkrani ();
// joyistic durumu… // установить место для радости…
int durumx = аналоговое чтение (xpin); if (durumx <300 && pozisyon! = 1 && kontrol == true) {// если location! = 1, x state600 && pozisyon! = 6 && kontrol == true) {// if location! = 3, x state> 600 и контроль истинный позисён ++; // увеличить положение, значит сдвинуть фигуру вправо kontrol = false; } else if (durumx> 300 && durumx <600) {kontrol = true; } // позиция по durumu… // позиция состояние… if (pozisyon == 1) {// if location = 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 ();}
if (dusmanoldu) {// если вражеская фигура мертва, проверяем, мертвы ли они
dusmankonum1 = pozisyon; // рисуем первую фигуру врага dusmankonum2 = random (0, 6); // рисуем где-нибудь другую фигуру врага dusmankonum3 = random (0, 6); dusmankonum4 = случайный (0, 6); dusmankonum5 = случайный (0, 6); dusmaninYdekonumu = 0; // выводим врага сверху dusmanoldu = false;} // враг воссоздан, поэтому они не мертвы
dusmanAracidurum (душманконум1, душманинYdekonumu); душманинYdekonumu ++; // рисуем первую фигуру врага и получаем ее сверху вниз
dusmanAracidurum (душманконум2, душманинYdekonumu); душманинYdekonumu ++; // рисуем вторую фигуру врага сверху вниз dusmanAracidurum (dusmankonum3, dusmaninYdekonumu); dusmaninYdekonumu ++; dusmanAracidurum (душманконум4, душманинYdekonumu); душманинYdekonumu ++; if (dusmaninYdekonumu> 35 && ((dusmankonum1 == pozisyon) || (dusmankonum2 == pozisyon) || (dusmankonum3 == pozisyon) || (dusmankonum4 == pozisyon))) {// если наша фигура коснется врага (формы oyunbitti)); //Игра окончена }
if (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
Кроме того, вы должны включить растровое изображение для фигур. Это должен быть файл.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 => Форма
Душман => Враг
контроль => контроль
Конум, Йер => Местоположение
Оюн Битти => Игра окончена
Скор => Оценка
Hiz => Скорость
Рекомендуемые:
Игры !!! - Введение: 5 шагов
Игры !!! - Вступление: Привет! Я научу вас создавать три разные игры на code.org. Под каждым учебником по игре я буду размещать шаблон, который вы можете ремикшировать и использовать во время просмотра моего видео. Надеюсь, вы хорошо проведете время !! Если вы, ребята, хотите просто посмотреть мои игры в
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Версия игры Arduino Space Race _1: 5 шагов
Версия игры Arduino Space Race _1: Привет, друзья. Сегодня я хочу показать вам, как можно создать космическую гонку с экраном LCD5110 и радостным
Симулятор игры для смартфона - играйте в игры для Windows, используя IMU для управления жестами, акселерометр, гироскоп, магнитометр: 5 шагов
SmartPhone Game Simulator - играйте в игры для Windows, используя IMU управления жестами, акселерометр, гироскоп, магнитометр: поддержите этот проект: https://www.paypal.me/vslcreations, сделав пожертвование на программы с открытым исходным кодом & поддержка дальнейшего развития
KerbalController: настраиваемая панель управления для ракетной игры Программа Kerbal Space: 11 шагов (с изображениями)
KerbalController: настраиваемая панель управления для ракетной игры Программа Kerbal Space: зачем строить KerbalController? Ну, потому что нажатие кнопок и переключение физических переключателей кажется намного более существенным, чем щелчок мышью. Особенно, когда это большой красный предохранительный выключатель, когда нужно сначала открыть крышку, щелкнуть выключателем