Код ниже является частью моей «безопасной» программы. Я должен сделать 4 «догадки» (пароль состоит из 4 цифр). Для каждой догадки я использую несколько операторов if, но мне было интересно, есть ли способ сделать метод для каждого «угадывания». Таким образом, вместо этих 4-х разделов if-statement у меня будет только один метод.Arduino метод изготовления
if (turn == 1) {
if ((buttonState != lastButtonState) && buttonState == 1) {
guess1 = newValue;
turn = 2;
Printer();
}
lastButtonState = buttonState;
}
if (turn == 2) {
if ((buttonState != lastButtonState) && buttonState == 1) {
guess2 = newValue;
turn = 3;
Printer();
}
lastButtonState = buttonState;
}
if (turn == 3) {
if ((buttonState != lastButtonState) && buttonState == 1) {
guess3 = newValue;
turn = 4;
Printer();
}
lastButtonState = buttonState;
}
if (turn == 4) {
if ((buttonState != lastButtonState) && buttonState == 1) {
gok4 = nieuwewaarde;
beurt = 5;
Printer();
}
lastButtonState = buttonState;
}
Поскольку Arduino использует C++, я удалил тег C. Что касается вашей проблемы, да, можно разбить общий код на отдельную функцию. Я бы рекомендовал его. Для этого я предлагаю вам [найти хорошую книгу для начинающих] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) и немного почитать о функциях и также о прохождении аргументов * по ссылке *. –