int randomNumber;
int scissorbutton = 13;
int rockbutton = 12;
int paperbutton = 11;
bool gameInProgress = false;
bool buttonPressed = false; // To track if a button is pressed
unsigned long lastGameEndTime = 0;
unsigned long gameCooldown = 9000; // 9 seconds in milliseconds
void setup() {
Serial.begin(9600);
pinMode(scissorbutton, INPUT);
pinMode(rockbutton, INPUT);
pinMode(paperbutton, INPUT);
randomSeed(analogRead(0));
}
void playGame(int userChoice = 0) {
if (userChoice != 0) {
lastGameEndTime = millis() + 2000; // Delay for 2 seconds after displaying result
generateAIChoice();
Serial.print("You chose ");
if (userChoice == 1) {
Serial.println("Scissor");
} else if (userChoice == 2) {
Serial.println("Rock");
} else if (userChoice == 3) {
Serial.println("Paper");
}
Serial.print("The AI chose ");
if (randomNumber == 1) {
Serial.println("Scissor");
} else if (randomNumber == 2) {
Serial.println("Rock");
} else if (randomNumber == 3) {
Serial.println("Paper");
}
if (userChoice == randomNumber) {
Serial.println("Draw");
} else if ((userChoice == 1 && randomNumber == 2) ||
(userChoice == 2 && randomNumber == 3) ||
(userChoice == 3 && randomNumber == 1)) {
Serial.println("You lose, fucking loser");
} else {
Serial.println("You Win");
}
}
gameInProgress = false;
}
void loop() {
unsigned long currentMillis = millis();
if (!gameInProgress) {
handleButtons();
if (currentMillis - lastGameEndTime >= gameCooldown && buttonPressed) {
gameInProgress = true;
buttonPressed = false; // Reset the button state
playGame();
}
}
}
void handleButtons() {
if (digitalRead(scissorbutton) == HIGH) {
gameInProgress = true;
buttonPressed = true;
playGame(1);
} else if (digitalRead(rockbutton) == HIGH) {
gameInProgress = true;
buttonPressed = true;
playGame(2);
} else if (digitalRead(paperbutton) == HIGH) {
gameInProgress = true;
buttonPressed = true;
playGame(3);
}
}
void generateAIChoice() {
randomNumber = random(1, 4);
}