/**
 *Playfield class derived from Raster
 *(C)Hongsong Chou for 6.837 project 1
 *It can be compiled by javac on athena
 */
import java.awt.*;
import java.awt.image.*;
import Raster;
import Sprite;
import AnimatedSprite;

class Playfield extends Raster {
  Raster background;
  AnimatedSprite sprite[];
  Image bknd;//keep record of background image

  public Playfield(Image bgnd, int numSprites) {
    background = new Raster(bgnd);
    bknd = bgnd;
    sprite = new AnimatedSprite[ numSprites ];
  }
  
  public void addSprite(int i, AnimatedSprite s) {
    if(i < sprite.length)
      sprite[i] = s;
  }
  
  public void Draw() {
    for(int i = 0; i < sprite.length; i++)
      sprite[i].Draw(background);
  }

  public Image toImage() {
    Image im = background.toImage();
    background = new Raster(bknd);
    return im;
  }

  public int getPlayfieldWidth() {
    return background.getWidth();
  }

  public int getPlayfieldHeight() {
    return background.getHeight();
  }
}

