#include <Yabl.h> //Yet Another Button Library
#define SWITCH_GameWin1_PIN 6
#define SWITCH_GameWin2_PIN 7
#define SWITCH_WinBy1_PIN 8
#define SWITCH_WinBy2_PIN 9
Button SWITCH_GameWin1;
Button SWITCH_GameWin2;
Button SWITCH_WinBy1;
Button SWITCH_WinBy2;
byte begin_game_win;
byte end_game_win;
byte game_win;
byte begin_win_by;
byte end_win_by;
byte win_by;
bool start_of_game = false;
byte play_to_1 = 7;
byte play_to_2 = 9;
byte play_to_3 = 11;
byte win_by_0 = 0;
byte win_by_1 = 1;
byte win_by_2 = 2;
void setup() {
Serial.begin(115200);
SWITCH_GameWin1.inverted(false);
SWITCH_GameWin2.inverted(false);
SWITCH_WinBy1.inverted(false);
SWITCH_WinBy2.inverted(false);
SWITCH_GameWin1.attach(SWITCH_GameWin1_PIN, INPUT_PULLUP);
SWITCH_GameWin2.attach(SWITCH_GameWin2_PIN, INPUT_PULLUP);
SWITCH_WinBy1.attach(SWITCH_WinBy1_PIN, INPUT_PULLUP);
SWITCH_WinBy2.attach(SWITCH_WinBy2_PIN, INPUT_PULLUP);
SWITCH_GameWin1.callback(GameWin1, HOLD);
SWITCH_GameWin2.callback(GameWin2, HOLD);
SWITCH_WinBy1.callback(WinBy1, HOLD);
SWITCH_WinBy2.callback(WinBy2, HOLD);
}
void GameWin1() {
if ((GameWin1 == 0) && (GameWin2 == 0)) {
game_win = play_to_1; //7
} else if ((GameWin1 == 1) && (GameWin2 == 0)) {
game_win = play_to_2; //9
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((GameWin1 == 0) && (GameWin2 == 1)) {
game_win = play_to_3; //11 --then set game_win to option 3
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((GameWin1 == 1) && (GameWin2 == 1)) {
game_win = play_to_1; //7
}
}
void GameWin2() {
if ((GameWin1 == 0) && (GameWin2 == 0)) {
game_win = play_to_1; //7
} else if ((GameWin1 == 1) && (GameWin2 == 0)) {
game_win = play_to_2; //9
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((GameWin1 == 0) && (GameWin2 == 1)) {
game_win = play_to_3; //11 --then set game_win to option 3
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((GameWin1 == 1) && (GameWin2 == 1)) {
game_win = play_to_1; //7
}
}
void WinBy1() {
if ((WinBy1 == 0) && (WinBy2 == 0)) {
game_win = play_to_1; //7
} else if ((WinBy1 == 1) && (WinBy2 == 0)) {
game_win = play_to_2; //9
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((WinBy1 == 0) && (WinBy2 == 1)) {
game_win = play_to_3; //11 --then set game_win to option 3
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((WinBy1 == 1) && (WinBy2 == 1)) {
game_win = play_to_1; //7
}
}
void WinBy2() {
if ((WinBy1 == 0) && (WinBy2 == 0)) {
game_win = play_to_1; //7
} else if ((WinBy1 == 1) && (WinBy2 == 0)) {
game_win = play_to_2; //9
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((WinBy1 == 0) && (WinBy2 == 1)) {
game_win = play_to_3; //11 --then set game_win to option 3
//Serial.print("game_win = ")&&Serial.println(game_win); // uncomment to verify what game_win has been set to
} else if ((WinBy1 == 1) && (WinBy2 == 1)) {
game_win = play_to_1; //7
}
}
void SERVE_BRAIN() {
int i = 0;
Serial.println()&&Serial.println()&&Serial.println()&&Serial.println("I am the SERVE_BRAIN");
Serial.print("Iteration# ")&&Serial.println(i)&&Serial.println();
Serial.println("There was a change. ")&&Serial.println();
//Serial.print("GameWin1= ")&&Serial.println(GameWin1);
//Serial.print("GameWin2= ")&&Serial.println(GameWin2);
//Serial.print("WinBy1= ")&&Serial.println(WinBy1);
//Serial.print("WinBy2= ")&&Serial.println(WinBy2);
Serial.print("game_win = ")&&Serial.println(game_win);
Serial.print("win_by = ")&&Serial.println(win_by);
i++;
}
void loop() {
SWITCH_GameWin1.update();
SWITCH_WinBy1.update();
}