Я хочу сбросить мою переменную обратно к ее первоначальному значению, когда она используется в новой функции.
Я создал счетчик, с которым взаимодействует пользователь, чтобы ответить на ряд вопросов.Я хочу, чтобы счетчик обнулялся после каждого вопроса.Это работает так, как пользователь вводит число, соответствующее его ответу, и нажимает кнопку, которая должна запустить следующий вопрос, а также счетчик, который должен быть установлен в 0 для ввода нового ответа.Однако, когда я делаю это, счетчик не сбрасывается и продолжает работать с любого номера, на котором он был оставлен.
Как вы можете видеть в моем коде, я пробую его через counter = 0;лучший в кодировании, поэтому извиняюсь за любые очевидные ошибки и, пожалуйста, дайте мне ответы на свои вопросы!
const int analogPin = A0; // pin that the sensor is attached to
const int threshold = 1; // an arbitrary threshold level that's in the range of the analog input
const int buttonPin = 9;
int counter = 0;
int life = 81;
int analogValue;
int buttonState = 0;
void setup() {
analogValue = analogRead(A0);
pinMode(buttonPin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int k;
//COUNTER
// read the value of the counter:
analogValue = analogRead(analogPin);
//Serial.println(analogValue);
// if the analog value is high enough, add to counter:
if (analogValue > 900) {
digitalWrite(ledPin, LOW);
counter ++;
} else {
digitalWrite(ledPin, LOW);
}
//Print the counter
Serial.println(counter);
//Adjust this delay to adjust counter timer
delay(1500);
buttonState = digitalRead(buttonPin);
k = smokeFunction(counter);
delay(200);
}
int smokeFunction(int counter){
int q;
//Do you smoke?
//Smoke Yes
if (buttonState == 0 && counter == 1){
life = life - 10;
Serial.println(life);
counter = 0;
diseaseFunction(counter);
}
//Smoke No
if (buttonState ==0 && counter == 2){
Serial.println(life);
counter = 0;
diseaseFunction(counter);
}
q = diseaseFunction(counter);
delay(200);
}
int diseaseFunction(int counter){}