package traffic;

class TrafficLight implements Runnable {
  int signal, prevSignal;
  int pause, wait;
  Thread MyTrafficLight;

  TrafficLight(){
    signal = 2;
    wait = 5000;
  }

 public void run() {
  signal=1;
  while (true) {
    if (signal == 1){
      signal = 2;
      pause = wait;
      prevSignal = 1;
    } else if (signal == 0) {
      signal = 2;
      prevSignal = 0;
      pause = wait;
    } else if ((signal == 2) && (prevSignal == 1)){
      signal = 0;
      pause = wait;
    } else if ((signal == 2) && (prevSignal == 0)){
      signal = 1;
      pause = wait;
    }


    try {
      Thread.sleep(pause);
    } catch (InterruptedException e) {
      break;
    }
  }
 }

  public void start() {
    MyTrafficLight = new Thread(this);
    MyTrafficLight.start();
  }

  public void stop() {
    MyTrafficLight.stop();
  }
}