Есть ответ 👍

«Создание гаджетов на Arduino» Тема: Игра на Arduino «Охотник»
Домашнее задание: Игра на Arduino
Доработайте код программы, который написали на занятии.
Чтобы игра была динамичнее, добавьте условие, чтобы от переменной score каждый раз отнималась 1 единица. Добавьте
соответствующее условие в функцию playGame(). Пока score>0,
отнимайте от переменной единицу с каждым обходом цикла.
Добавьте пьезоэлемент и напишите такой код, чтобы после нажатия кнопки воспроизводилась мелодия победы или
проигрыша. Определенная мелодия должна воспроизводиться в зависимости от того, успел ли игрок нажать кнопку,
когда загорелся красный светодиод.

код в который надо добавить команды :
#include
#define LED_RED 0
#define LED_BLUE1 6
#define LED_BLUE2 7
#define LED_BLUE3 8
#define LED_BLUE4 9
#define LED_BLUE5 10
#define BUTTON_PIN 13
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int myPins[] = {LED_RED, LED_BLUE1, LED_BLUE2,
LED_BLUE3, LED_BLUE4, LED_BLUE5};
int pin = 0; // random choose for turn on led
int millisec = 500;
int gameStatus = 0;
int score = 0;
int a = 1;

void setup() {
lcd.begin(16, 2);
pinMode(BUTTON_PIN, INPUT_PULLUP);
for (int i = 0; i < (sizeof(myPins) /
sizeof(myPins[0]));
i++) {
pinMode(myPins[i], OUTPUT);
digitalWrite(myPins[i], LOW);
}
}
void loop() {
switch (gameStatus) {
case 0:
playGame();
break;
case 1:
playerWin();
break;
case 2:
playerLose();
break;
}
}
void LCDstart() {
lcd.display();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SCORE:");
lcd.setCursor(7, 0);
lcd.print(score);
}
void playGame() {
LCDstart();
pin = random((sizeof(myPins) / sizeof(myPins[0])));
digitalWrite(myPins[pin], HIGH);
if (digitalRead(BUTTON_PIN)) {
if (myPins[pin] == LED_RED) {
gameStatus = 1;
}
else {
gameStatus = 2;
}
}
delay(millisec);
digitalWrite(myPins[pin], LOW);
}
void playerWin() {
gameStatus = 0;
score += 10000 % millisec;
if (millisec > 50) {
millisec -= 20;
}
for (int i = 1; i >= 0; i--) {
for (int j = 0; j < (sizeof(myPins) /
sizeof(myPins[0])); j++) {
digitalWrite(myPins[j], i);
}
delay(600);
}
}
void playerLose() {
gameStatus = 0;
score -= 1000 / millisec;
millisec += 10;
for (int i = 1; i >= 0; i--) {
for (int j = 1; j < (sizeof(myPins) /
sizeof(myPins[0])); j++) {
digitalWrite(myPins[j], i);
}
delay(600);
}
}

174
206
Посмотреть ответы 2

Ответы на вопрос:


что это?прикол или как???


//pascalabc.net //версия 3.3, сборка 1634 (14.02.2018) begin   var s : = readstring.joinintostring(' ').tointegers;   var (a,b): =(s.where(t-> t=1).count,s.where(t-> t=2).count);   (s.findlastindex(t-> t=s.min)+1).println;   println((b=0) and (a> +1)*5: a*5+b*5); end. пример: 1122222212222111122217 100

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS