arduino打地鼠游戏代码
时间: 2023-11-18 22:04:45 浏览: 36
以下是一个简单的Arduino打地鼠游戏代码,其中使用了引用中提到的rand()函数和task()函数:
```arduino
int ledPin = 13; // LED灯的引脚
int buzzerPin = 8; // 蜂鸣器的引脚
int buttonPin = 2; // 按钮的引脚
int molePin = 3; // 地鼠的引脚
int score = 0; // 得分
int error = 0; // 错误次数
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(molePin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int interval = rand() % 2000 + 1000; // 产生1000~3000ms之间的随机数
digitalWrite(molePin, HIGH); // 地鼠出现
int result = task(interval); // 执行任务
digitalWrite(molePin, LOW); // 地鼠消失
if (result == 1) { // 任务成功
score++;
Serial.print("Score: ");
Serial.println(score);
} else { // 任务失败
error++;
Serial.print("Error: ");
Serial.println(error);
}
delay(500); // 等待500ms
}
int task(int x) {
digitalWrite(ledPin, HIGH); // 点亮LED灯
delay(x); // 等待x毫秒
digitalWrite(ledPin, LOW); // 熄灭LED灯
delay(x); // 等待x毫秒
if (digitalRead(buttonPin) == LOW) { // 按钮按下
return 1;
} else { // 按钮未按下
if (error >= 3) { // 错误次数达到3次
for (int i = 1; i <= 3; i++) {
digitalWrite(buzzerPin, HIGH); // 蜂鸣器响
delay(200);
digitalWrite(buzzerPin, LOW); // 蜂鸣器停止响
delay(200);
}
Serial.println("Game over");
return 0;
} else { // 错误次数未达到3次
return -1;
}
}
}
```