Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino Mini Boss Battle Game — ретро-игра в стиле босса

Компоненты и материалы

Arduino UNO 1
LCD-дисплей 16x2 с контроллером (Arduino Compatible) 1

Приложения и онлайн-сервисы

О проекте

Игра-симуляция битвы с боссом. Кнопки (через аналоговый вход A0) выбирают атаки и переключают экраны. Противник (демон) атакует по случайному алгоритму.

Идея вдохновлена ретро-играми: оригинальные Pokemon и Super Mario.

Атаки игрока:

Удачи и веселой игры!

Код

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int turn = 1, screen = 0, health = 10, ehealth = 10;
int attackdamage = 0, stats = 0, totaldamage = 0;
int eattackdamage = 0, estats = 0, etotaldamage = 0;
int enemyattack, attack = 0;

void setup() {
  totaldamage = attackdamage + stats;
  etotaldamage = eattackdamage + estats;
  lcd.begin(16, 2);
  Serial.begin(9600);
}

void loop() {
  totaldamage = attackdamage + stats;
  etotaldamage = eattackdamage + estats;
  estats = 0; stats = 0; attackdamage = 0; eattackdamage = 0;

  int button = analogRead(A0);

  if (health <= 0) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Lose"); }
  if (ehealth <= 0) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Win!"); }

  if (button >= 500 && button <= 750) { screen++; delay(1000); enemyattack = random(1,5); Serial.println('5'); }
  if (screen > 4) { screen = 0; turn++; enemyattack = random(1,5); }

  if (screen == 0) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Turn"); lcd.setCursor(0,1); lcd.print(turn); }
  else if (screen == 1) {
    lcd.setCursor(0,0); lcd.print("You Used The"); lcd.setCursor(0,1);
    if (button >= 0 && button <= 50) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Used The"); lcd.setCursor(0,1); lcd.print("Blade Of Isin"); attackdamage = 2; }
    else if (button >= 50 && button <= 150) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Used The"); lcd.setCursor(0,1); lcd.print("Staff Of Kanas"); attackdamage = 1; stats++; delay(1000); }
    else if (button >= 150 && button <= 300) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Used The"); lcd.setCursor(0,1); lcd.print("Spell Of Tories"); attackdamage = 0; stats += 2; delay(1000); }
    else if (button >= 300 && button <= 500) { lcd.clear(); lcd.setCursor(0,0); lcd.print("You Used The"); lcd.setCursor(0,1); lcd.print("Potion Of Meseus"); attackdamage = 0; health += 2; delay(1000); }
  }
  else if (screen == 2) {
    lcd.clear(); lcd.setCursor(0,0); lcd.print("The Demon Used"); lcd.setCursor(0,1);
    if (enemyattack == 1) { lcd.print("The Bone Spear"); eattackdamage = 2; delay(1000); }
    else if (enemyattack == 2) { lcd.print("The Cursed Blade"); eattackdamage = 1; estats++; delay(1000); }
    else if (enemyattack == 3) { lcd.print("The Cursed Spell"); eattackdamage = 3; estats -= 2; delay(1000); }
    else if (enemyattack == 4) { lcd.print("The Skull Ritual"); eattackdamage = 0; estats += 2; delay(1000); }
    ehealth -= totaldamage;
    health -= etotaldamage; // ИСПРАВЛЕНО: было health -= totaldamage (ошибка оригинала)
  }
  else if (screen == 3) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Player Health:"); lcd.setCursor(0,1); lcd.print(health); }
  else if (screen == 4) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Enemy Health:"); lcd.setCursor(0,1); lcd.print(ehealth); }

  Serial.println(health); Serial.println(ehealth);
}

Примечание: в оригинальном коде была ошибка расчёта урона игроку (использовался totaldamage вместо etotaldamage). Исправлено в данной версии.

Схемы

LCD-дисплей устанавливается непосредственно на пины Arduino.

Arduino Mini Boss Battle Game — ретро-игра в стиле босса

Производственный процесс

  1. EMAR Mini: Компактный открытый робот экстренной помощи для борьбы с COVID-19
  2. Основное руководство по мини-кранам: типы, применение и советы по выбору
  3. Освоение управления мини-экскаватором: подробное руководство
  4. Безопасность мини-экскаватора: экспертные рекомендации для надежной работы
  5. Экспертное руководство: безопасная перевозка мини-экскаваторов на объекты
  6. Контактная сварка: освоение техник выемок
  7. Мини VMC станок: компактное ЧПУ фрезерование для малых проектов
  8. Мини-дриль: компактный электроинструмент для точного сверления и крепежа
  9. Понимание мини токарных станков с ЧПУ: функции, особенности и преимущества
  10. Понимание мини-погружных насосов: Принцип работы и сферы применения