import java.awt.*;

class SetOfLights extends Thread {

    private int red = 0;
    private Canvas area;
    private int x;
    public boolean alive = true;

    public SetOfLights(Canvas c, int x) {
      area = c;
      this.x = x;
    }
    public void run() {
      while (alive) {
        for (int light = 0; light < 3; light++) {
          draw(light);
          try { sleep(500);}
          catch (InterruptedException e) { }
        }
      }
    }

    void draw(int light) {
      Graphics g = area.getGraphics();
      g.setColor(Color.black);
      g.drawOval(x-8, 10, 30, 68);
      g.drawOval(x,   85, 15, 15);
      g.drawString("RED",    x-90, 28);
      g.drawString("YELLOW", x-90, 48);
      g.drawString("GREEN",  x-90, 68);
      g.drawString("WALK",   x-90, 98);

      switch (light) {
        case 0:
          g.setColor(Color.red);
          g.fillOval(x, 15, 15, 15);
          g.setColor(Color.lightGray);
          g.fillOval(x, 35, 15, 15);
          g.fillOval(x, 55, 15, 15);
          break;
        case 1:
          g.setColor(Color.green);
          g.fillOval(x, 55, 15, 15);
          g.setColor(Color.lightGray);
          g.fillOval(x, 15, 15, 15);
          g.fillOval(x, 35, 15, 15);
          break;
        case 2:
          g.setColor(Color.yellow);
          g.fillOval(x, 35, 15, 15);
          g.setColor(Color.lightGray);
          g.fillOval(x, 15, 15, 15);
          g.fillOval(x, 55, 15, 15);
          break;
      }

    }
  }
