//Nasser Saad Amer Al-Bishee || 441015535
//iteration 1:
int buttonPin=2;
int stopRedPin=12;
int stopYellowPin=11;
int stopGreenPin=10;
int pedRedPin=9;
int pedGreenPin=8;

long pedLightTimer;
bool buttonState=LOW;
int timeout=5000;

void setup() 
{
  pinMode(stopRedPin,OUTPUT);
  pinMode(stopYellowPin,OUTPUT);
  pinMode(stopGreenPin,OUTPUT);
  pinMode(pedRedPin,OUTPUT);
  pinMode(pedGreenPin,OUTPUT);
  pinMode(buttonPin,INPUT);
  digitalWrite(stopGreenPin,HIGH);
  digitalWrite(pedRedPin,HIGH);
}

void loop()
 {
  //delay(5000);
  //stoplight();
  buttonState=digitalRead(buttonPin);
  if(buttonState==HIGH && (millis()-pedLightTimer)>timeout)
  {
    stoplight();
  }
}

void stoplight()
{
  digitalWrite(stopGreenPin,LOW);
  digitalWrite(stopYellowPin,HIGH);
  delay(2000);
  digitalWrite(stopYellowPin,LOW);
  digitalWrite(stopRedPin,HIGH);

  pedestrion();
}

void pedestrion()
{
  digitalWrite(pedRedPin,LOW);
  digitalWrite(pedGreenPin,HIGH);
  delay(5000);
  digitalWrite(pedGreenPin,LOW);
  for(int x=0;x<10;x++)
  {
    digitalWrite(pedGreenPin,HIGH);
    digitalWrite(stopRedPin,HIGH);
    delay(250);
    digitalWrite(pedGreenPin,LOW);
    digitalWrite(stopRedPin,LOW);
    delay(250);
  }
  digitalWrite(pedRedPin,HIGH);
  digitalWrite(stopGreenPin,HIGH);
  digitalWrite(stopRedPin,LOW);
  pedLightTimer=millis();
}
$abcdeabcde151015202530354045505560fghijfghij