import java.awt.*;

public class TRAINGRID extends GENERIC_GRID{

  TRAINGRID(){
    super();
    spawn();
  }

  public void spawn(){
    if(enemy_vector.size() > MAX_ENEMIES){
      enemy_vector.remove(0);
      enemy_vector.trimToSize();
    }
    enemy_vector.addElement(new TRAIN());
  }

  public void move_enemy(){
    int len = enemy_vector.size();
    for(int i = 0; i<len; i++){
      TRAIN holder = (TRAIN)enemy_vector.get(i);
      holder.moveDown();
    }
    if(len>0){
      TRAIN holder = (TRAIN)enemy_vector.lastElement();
      if(holder.getY(0)>80){
        spawn();
      }
    }
    crash();
  }


  private void drawEnemies(Graphics g){
    int len = enemy_vector.size();
    for(int i = 0; i<len; i++){
      TRAIN holder = (TRAIN) enemy_vector.get(i);
      holder.draw(g);
    }
  }

  public void crash(){
    int len = enemy_vector.size();
    int pt = 0;
    for(int i = 0; i<len; i++){
      TRAIN holder = (TRAIN) enemy_vector.get(i);
      pt = holder.check_collision(player.x,player.y);
      if(pt!=0){
        score+=pt;
        enemy_vector.remove(i);
        enemy_vector.trimToSize();
        System.out.println("CRASH");
        break;
      }
    }
  }

  public void draw(Graphics g){
    super.draw(g);
    int len = enemy_vector.size();
    for(int i = 0; i<len; i++){
      TRAIN holder = (TRAIN) enemy_vector.get(i);
      holder.draw(g);
    }
  }
}
