Тема: Гра на Arduino «Мисливець Домашнє завдання: гра на Arduino Завдання 1 Доробiть код
програми, який написали на заняттi. Аби гра була динамічнішою, додайте умову, щоб від змiнноï score ко- жен раз віднімалася одиниця (1). Додайте відповідну умову у функцію playGame(). Доти, доки score> 0, вiднiмайте вiд змiн- ноï одиницю з кожним обходом циклу. Додайте п'єзоелемент і напишіть такий код, щоб пiсля на- тискання кнопки відтворювалася мелодія перемоги або про- грашу. Певна мелодія повинна відтворюватися залежно від того, чи встиг гравець натиснути кнопку, коли загорівся чер- воний світлодіод.Ответы на вопрос
Ответ:
Я не могу знать, какой код был написан на занятии, поэтому я предоставлю общие рекомендации для доработки кода в соответствии с заданием.
Добавьте переменную score, которая изначально будет иметь значение 5 (или любое другое число, которое вы выберете).
В функции playGame() добавьте цикл while, который будет выполняться до тех пор, пока значение score не станет равным 0. Внутри цикла выведите текущее значение score на дисплей и уменьшайте его на 1 при каждом проходе цикла.
Добавьте пьезоэлемент и подключите его к плате Arduino. Создайте две мелодии - одну для победы и другую для поражения.
Внутри цикла while добавьте условие, которое будет проверять, нажата ли кнопка, когда загорается красный светодиод. Если кнопка была нажата, воспроизведите мелодию победы, иначе - мелодию поражения.
Запустите программу и убедитесь, что все работает правильно.
Надеюсь, эти рекомендации помогут вам доработать код для вашей игры на Arduino.
Ось приклад коду для гри на Arduino з умовою віднімання одиниці змінної score і відтворення мелодії перемоги або програшу після натискання кнопки:
cpp// Підключення бібліотеки для роботи з пієзоелементом
#include "pitches.h"
// Підключення пінів Arduino
const int buttonPin = 2; // Пін для підключення кнопки
const int redLedPin = 3; // Пін для червоного світлодіода
const int buzzerPin = 4; // Пін для пієзоелемента
// Змінні для збереження стану гри
int score = 10; // Початковий рахунок гри
int ledState = LOW; // Початковий стан світлодіода
int buttonState = LOW; // Початковий стан кнопки
int lastButtonState = LOW; // Стан кнопки на попередній ітерації
// Мелодії для перемоги та програшу
int victoryMelody[] = {NOTE_C4, NOTE_G4, NOTE_C5};
int defeatMelody[] = {NOTE_A3, NOTE_A2};
// Розмірність мелодій
int victoryMelodySize = sizeof(victoryMelody) / sizeof(victoryMelody[0]);
int defeatMelodySize = sizeof(defeatMelody) / sizeof(defeatMelody[0]);
void setup() {
// Ініціалізація пінів
pinMode(buttonPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// Отримання стану кнопки
buttonState = digitalRead(buttonPin);
// Якщо кнопку натиснуто, а червоний світлодіод світиться
if (buttonState == HIGH && ledState == HIGH) {
// Відтворення переможної мелодії
playMelody(victoryMelody, victoryMelodySize);
delay(2000); // Затримка перед наступною грою
score = 10; // Скидання рахунку гри
}
// Якщо кнопку натиснуто, а червоний світлодіод не світиться
if (buttonState == HIGH && ledState == LOW) {
// Відтворення мелодії програшу
playMelody(defeatMelody, defeatMelodySize);
delay(2000); // Затримка перед наступною грою
score = 10; // Скидання рахунку гри
}
//
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
