#include <TM1637Display.h>
#define CLKL 3
#define DIOL 4
#define CLKR 5
#define DIOR 6
int state = 0;
TM1637Display displayL = TM1637Display(CLKL, DIOL);
TM1637Display displayR = TM1637Display(CLKR, DIOR);
byte dot = 255;
void setup() {
displayL.setBrightness(5);
displayL.clear();
displayR.setBrightness(5);
displayR.clear();
displayL.showNumberDecEx(1000, dot);
displayR.showNumberDecEx(1000, dot);
pinMode(8, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
int minL = 10;
int secL = 0;
int minR = 10;
int secR = 0;
int player = 1;
bool start = true;
void loop() {
if(player == 1 && start)
{
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
if(secR == 0)
{
minR--;
secR = 59;
}
else
secR--;
int timeR = minR * 100 + secR;
if(timeR > 0)
{
displayR.showNumberDecEx(timeR, dot);
}
}
else{
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
if(secL == 0)
{
minL--;
secL = 59;
}
else
secL--;
int timeL = minL * 100 + secL;
if(timeL > 0)
{
displayL.showNumberDecEx(timeL, dot);
}
}
for(int j = 0; j < 100; j++)
{
if(digitalRead(8) == LOW)
{
while(digitalRead(8) == LOW);
if(state == 0)
state = 1;
else
state = 0;
}
delay(10);
}
}
if(player == 2 && start){
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
if(secR == 0)
{
minR--;
secR = 59;
}
else
secR--;
int timeR = minR * 100 + secR;
if(timeR > 0)
{
displayR.showNumberDecEx(timeR, dot);
}
}
else{
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
if(secR == 0)
{
minR--;
secR = 59;
}
else
secR--;
int timeR = minR * 100 + secR;
if(timeR > 0)
{
displayR.showNumberDecEx(timeR, dot);
}
}
for(int j = 0; j < 100; j++)
{
if(digitalRead(8) == LOW)
{
while(digitalRead(8) == LOW);
if(player == 1)
player = 2;
else
player = 1;
}
if(digitalRead(7) == LOW)
{
while(digitalRead(7) == LOW);
if(player == 1)
player = 2;
else
player = 1;
}
delay(10);
}
}
if(digitalRead(7) == LOW){
while(digitalRead(7) == LOW);
minL = 10;
secL = 0;
minR = 10;
secR = 0;
if(player == 1){
player = 2;
}
else{
player = 1;
}
return true;
}
}