«Создание гаджетов с использованием Arduino» Тема: Игра на Arduino под названием «Охотник» Домашнее задание

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

Moroznyy_Voin_1624

Конечно, я могу помочь вам с этим заданием по «Охотнику» на Arduino. Давайте посмотрим, как мы можем модифицировать код программы для добавления условий уменьшения значения score и воспроизведения мелодии.

Ваша задача состоит в доработке функции playGame() и добавлении пьезоэлемента для воспроизведения мелодии. Вот как это можно сделать:

arduino
// Подключение библиотек
#include
#include

// Подключение пьезоэлемента к пину 9
const int piezoPin = 9;

// Подключение кнопки к пину 2
const int buttonPin = 2;

// Установка начального значения score
int score = 10;

// Задайте мелодии для победы и поражения
int winMelody[] = {NOTE_C4, NOTE_G4, NOTE_C5};
int loseMelody[] = {NOTE_G3, NOTE_E3, NOTE_C3};

// Функция для воспроизведения мелодии
void playMelody(int melody[])
{
Melody.begin(piezoPin);
Melody.play(melody, sizeof(melody) / sizeof(melody[0]));
Melody.end();
}

// Функция для игры
void playGame()
{
// Цикл игры
while (score > 0)
{
// Ваш код здесь
// Уменьшите значение score на 1
score--;

// Проверьте, нажата ли кнопка
if (digitalRead(buttonPin) == HIGH)
{
// Воспроизведите мелодию победы
playMelody(winMelody);
}
else
{
// Воспроизведите мелодию поражения
playMelody(loseMelody);
}

// Задержка между итерациями цикла
delay(1000);
}
}

// Инициализация
void setup()
{
// Установка пина кнопки в качестве входа
pinMode(buttonPin, INPUT);

// Установка пина пьезоэлемента в качестве выхода
pinMode(piezoPin, OUTPUT);
}

// Бесконечный цикл
void loop()
{
// Вызов функции игры
playGame();
}


В этот код я добавил новую функцию playMelody(), которая воспроизводит переданную мелодию через пьезоэлемент. Я также задал две мелодии – winMelody для победы и loseMelody для поражения, и использовал эти мелодии внутри условия проверки состояния кнопки.

Внутри функции playGame() я добавил уменьшение значения score на 1 с каждой итерацией цикла, с помощью операции декремента (score--). Затем проверяется состояние кнопки – если она нажата, то воспроизводится мелодия победы, в противном случае – мелодия поражения.

Не забудьте подключить библиотеку Melody для работы с пьезоэлементом. Вы можете установить эту библиотеку, выполнив поиск "Melody Arduino Library" и следуя инструкциям по ее установке.

Если у вас возникли дополнительные вопросы, не стесняйтесь задавать.
Знаешь ответ?
Задать вопрос
Привет!
hello