int buttonOne=0; //pin 0 as button for 1st player
int buttonTwo=1; //pin 1 as button pin for second player
int ledOne=2; //pin 2 as led for first player
int ledTwo=3; //pin 3 as led for second player
int tZero=5; //pin5 for t=0 indicator led (grn)
int tOne=6; //pin6 for t=1 led
int tTwo=7; //pin7 for t=2 led
int tThree=8; //pin8 for t=3 led
void setup() {
pinMode(buttonOne, INPUT);
pinMode(buttonTwo, INPUT);
pinMode(ledOne, OUTPUT);
pinMode(ledTwo, OUTPUT);
pinMode(tZero, OUTPUT);
pinMode(tOne, OUTPUT);
pinMode(tTwo, OUTPUT);
pinMode(tThree, OUTPUT);
}
void loop() {
//sets start time for round to compare against false starts
int roundTime=millis();
// flashes amber leds for 1 s. period=200
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,LOW);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,LOW);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,LOW);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,LOW);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(100);
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,LOW);
delay(1100);
//t=3s
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,LOW);
digitalWrite (tThree,HIGH);
delay(1000);
//t=2s
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,LOW);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(1000);
//t=1s
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,LOW);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
delay(1000);
//time=0sec
while (buttonOne==LOW && buttonTwo==LOW ) {
digitalWrite (ledOne,LOW);
digitalWrite (ledTwo,LOW);
digitalWrite (tZero,HIGH);
digitalWrite (tOne,HIGH);
digitalWrite (tTwo,HIGH);
digitalWrite (tThree,HIGH);
}
//records absolute time of button being pressed
if (digitalRead)( buttonOne==HIGH);
{
int pbOneTime=millis()
}
else (digitalRead)( buttonTwo==HIGH)
{
int pbTwoTime=millis();
}
//win/loss/\DQ logic
if pbOneTime<5000+roundTime {
digitalWrite ledTwo,HIGH
}
else if pbTwoTime<5000+roundTime {
digitalWrite ledOne, HIGH
}
else if (pbTwoTime<5000+roundTime) && (pbOneTime>5000+roundTime) {
delay(2000);
}
else if (pbOneTime<pbTwoTime {
digitalWrite ledOne, HIGH;
}
else if (pbTwoTime<pbOneTime {
digitalWrite ledTwo,HIGH;
}
}