在藍色燈泡亮時 誰先按下按鈕 誰就是贏家
int gametime=0, s=0, limit=random(500,10000), n=0, m=54, down1=0, down2=0, GG=0, player1=0, player2=0;
void setup() {
for(int i=31;i<36;i++) //31 to 35 open
pinMode(i, OUTPUT); //the green light
for(int i=49;i<54;i++) //49 to 53 open
pinMode(i, OUTPUT); //the red light
pinMode(20,INPUT_PULLUP); //the green bottom
pinMode(21,INPUT_PULLUP); //the red bottom
pinMode(40,OUTPUT); //the blue light
}
void loop() {
winner();
gametime=millis();
if(digitalRead(20)==LOW&&down1==0)
{n++;down1=1;} //turn on the green light from 31 to 35
if(digitalRead(20)==HIGH&&down1==1)
{down1=0;}
if(digitalRead(21)==LOW&&down2==0)
{m--;down2=1;} //turn on the green light from 53 to 49
if(digitalRead(21)==HIGH&&down2==1)
{down2=0;}
blue();
lightG();
lightR();
}
void blue()
{
if(gametime-limit>0)digitalWrite(40,HIGH);
if(gametime-limit>0&&digitalRead(20)==LOW){if(GG==0&&n<=5){GG=1;player1=1;}}
if(gametime-limit>0&&digitalRead(21)==LOW){if(GG==0&&m>=49){GG=1;player2=1;}}
}
void lightG()
{
for(int i=1;i<=n; i++)if(GG==0)digitalWrite(30+i, HIGH);
}
void lightR()
{
for(int i=53;i>=m; i--)if(GG==0)digitalWrite(i, HIGH);
}
void winner()
{
if(player1==1){digitalWrite(random(31,36),HIGH);digitalWrite(random(31,36),LOW);delay(100);}
if(player2==1){digitalWrite(random(49,54),HIGH);digitalWrite(random(49,54),LOW);delay(100);}
}

沒有留言:
張貼留言