import java.awt.*;

public class GENGRID extends GENERIC_GRID{

  GENGRID(){
    super();
    spawn();
  }

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

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


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

  public boolean crash(){
    int len = enemy_vector.size();
    for(int i = 0; i<len; i++){
      TRUCK_ENEMY holder = (TRUCK_ENEMY) enemy_vector.get(i);
      if(holder.check_collision(player.x,player.y)){
        System.out.println("CRASH");
        return true;
      }
    }
    return false;
  }

  public void draw(Graphics g){
    super.draw(g);
    drawEnemies(g);
  }
}
