alarm
Задайте вопрос
Информатика
Ramona Parker

«Создание гаджетов на 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 13LiquidCrystal 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 ledint 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);}}

ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:

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

231
Ashley
Чтобы ответить необходимо зарегистрироваться.

Другие вопросы: - Информатика

Запишите фрагмент программы с по

7. Проведите мозговой штурм. В к

4. К какому типу данных относятс

посчитайте ПЖ у МЕНЯ СОР 4 рас

Сравните подходы к расположению

Дан специальный знак языка Паска

Контакты
Реклама на сайте