Битва с мини-боссом
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
|
Об этом проекте
Это игра, имитирующая битву с боссом. Вы используете кнопки, чтобы определять свои атаки и переключаться между экранами. Ваш противник (демон) атакует, используя случайный алгоритм.
Я решил сделать это, потому что это забавная идея и возврат к старым и ретро видеоиграм, таким как оригинальные игры Pokemon и Super Mario.
Возможны следующие варианты атак:- Клинок Исина (2 повреждения) - Посох Канаса (1 урон, +1 атака) - Заклинание Тори (0 повреждений, +2 атаки) - Зелье Мезея (0 повреждений, +2 здоровья) Удачи и удачи!
Код
- Код
- Код
Код Arduino
Это код. Скопируйте и вставьте его в Arduino IDE#includeLiquidCrystal lcd (8, 9, 4, 5, 6, 7); int turn =1; int screen =0; int health =10; int ehealth =10; int attackdamage =0; int stats =0; int totaldamage =урон атаки + статистика; int eattackdamage =0; int estats =0; int etotaldamage =eattackdamage + estats; int вражеская атака =случайный (1, 5); int attack =0; void setup () {totaldamage =attackdamage + статистика; etotaldamage =eattackdamage + estats; lcd.begin (16, 2); Serial.begin (9600);} void loop () {totaldamage =attackdamage + статистика; etotaldamage =eattackdamage + estats; estats =0; статистика =0; attackdamage =0; eattackdamage =0; int button =analogRead (A0); если (здоровье <=0) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы проигрываете»); } если (электронное здоровье <=0) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы выиграли!»); } если (кнопка> =500 &&кнопка <=750) {экран =экран + 1; задержка (1000); вражеская атака =случайный (1, 5); Serial.println ('5'); } если (экран> 4) {экран =0; поворот =поворот + 1; вражеская атака =случайный (1, 5); } если (экран ==0) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Поворот»); lcd.setCursor (0, 1); lcd.print (поворот); } иначе, если (экран ==1) {lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); если (кнопка> =0 &&кнопка <=50) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Клинок Исина»); Attackdamage =2; } иначе, если (кнопка> =50 &&кнопка <=150) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Посох Канаса»); Attackdamage =1; статистика =статистика + 1; задержка (1000); } иначе, если (кнопка> =150 &&кнопка <=300) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Заклинание тори»); attackdamage =0; статистика =статистика + 2; задержка (1000); } иначе, если (кнопка> =300 &&кнопка <=500) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Зелье Мезея»); attackdamage =0; здоровье =здоровье + 2; задержка (1000); }} иначе, если (экран ==2) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Используемый демон»); lcd.setCursor (0, 1); если (вражеская атака ==1) {lcd.print ("Костяное копье"); eattackdamage =2; задержка (1000); } еще если (вражеская атака ==2) {lcd.print ("Проклятый клинок"); eattackdamage =1; estats =estats ++; задержка (1000); } еще если (вражеская атака ==3) {lcd.print («Проклятое заклинание»); eattackdamage =3; estats =estats - 2; задержка (1000); } еще если (вражеская атака ==4) {lcd.print ("Ритуал черепа"); eattackdamage =0; estats =estats + 2; задержка (1000); } ehealth =ehealth - totaldamage; health =health - totaldamage; } иначе, если (экран ==3) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Здоровье игрока:"); lcd.setCursor (0, 1); lcd.print (здоровье); } иначе, если (экран ==4) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Здоровье врага:»); lcd.setCursor (0, 1); lcd.print (электронное здравоохранение); } Serial.println (здоровье, здоровье);}
Код Arduino
Это код. Он выполняет кодирование вещей#includeLiquidCrystal lcd (8, 9, 4, 5, 6, 7); int turn =1; // устанавливает переменные int screen =0; int health =10; int ehealth =10; int attackdamage =0; int stats =0; int totaldamage =урон атаки + статистика; int eattackdamage =0; int estats =0; int etotaldamage =eattackdamage + estats; int вражеская атака =случайный (1, 5); int attack =0; void setup () {totaldamage =attackdamage + статистика; // переопределяет формулы расчета повреждений etotaldamage =eattackdamage + estats; lcd.begin (16, 2); // устанавливает ЖК-дисплей} 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 («Вы проигрываете»); } if (ehealth <=0) {// проверяет, выиграли ли вы lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы выиграли!»); } if (button> =500 &&button <=750) {// устанавливает кнопку, используемую для перехода между экранами screen =screen + 1; задержка (1000); вражеская атака =случайный (1, 5); Serial.println ('5'); } if (screen> 4) {// сбрасывает экраны, если он проходит screen 4 screen =0; поворот =поворот + 1; вражеская атака =случайный (1, 5); } if (screen ==0) {// отображает turn lcd.clear (); lcd.setCursor (0, 0); lcd.print («Поворот»); lcd.setCursor (0, 1); lcd.print (поворот); } else if (screen ==1) {// экран атаки lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); if (button> =0 &&button <=50) {// Определяет атаки lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Клинок Исина»); Attackdamage =2; } иначе, если (кнопка> =50 &&кнопка <=150) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Посох Канаса»); Attackdamage =1; статистика =статистика + 1; задержка (1000); } иначе, если (кнопка> =150 &&кнопка <=300) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Заклинание тори»); attackdamage =0; статистика =статистика + 2; задержка (1000); } иначе, если (кнопка> =300 &&кнопка <=500) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Вы использовали»); lcd.setCursor (0, 1); lcd.print («Зелье Мезея»); attackdamage =0; здоровье =здоровье + 2; задержка (1000); }} else if (screen ==2) {// противник атакует lcd.clear (); lcd.setCursor (0, 0); lcd.print («Используемый демон»); lcd.setCursor (0, 1); если (вражеская атака ==1) {lcd.print ("Костяное копье"); eattackdamage =2; задержка (1000); } еще если (вражеская атака ==2) {lcd.print ("Проклятый клинок"); eattackdamage =1; estats =estats ++; задержка (1000); } еще если (вражеская атака ==3) {lcd.print («Проклятое заклинание»); eattackdamage =3; estats =estats - 2; задержка (1000); } еще если (вражеская атака ==4) {lcd.print ("Ритуал черепа"); eattackdamage =0; estats =estats + 2; задержка (1000); } ehealth =ehealth - totaldamage; // расчет урона health =health - totaldamage; } else if (screen ==3) {// отображает здоровье игрока lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Здоровье игрока:"); lcd.setCursor (0, 1); lcd.print (здоровье); } else if (screen ==4) {// отображает здоровье врага lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Здоровье врага:"); lcd.setCursor (0, 1); lcd.print (электронное здравоохранение); }} // завершаем код
Схема
Вставьте ЖК-дисплей в контакты на Arduino.Производственный процесс
- EMAR Mini - робот для экстренной помощи
- Использование мини-кранов
- Как управлять мини-экскаватором
- Советы по безопасности при работе с мини-экскаватором
- Как перевозить мини-экскаватор
- Проекционная сварка - босс тиснения
- Что такое мини-машина VMC?
- Что такое мини-сверлильный станок?
- Что такое мини токарный станок с ЧПУ?
- Как работают мини-погружные насосы?