class Thing extends AnimatedSprite {
  Vect2d pos, vel;
  int mass;

  Thing(Vect2d ipos, Vect2d ivel, int m, java.awt.Image [] img, Raster2 bg) {
    super(img, ipos.getEndX(200), ipos.getEndY(200), bg);

    pos = ipos;
    vel = ivel;
    x = pos.getEndX(200);
    y = pos.getEndY(200);
    mass = m;
  }

  Thing(Vect2d ipos, Vect2d ivel, int m, java.awt.Image img, Raster2 bg) {
    super(img, ipos.getEndX(200), ipos.getEndY(200), bg);

    pos = ipos;
    vel = ivel;
    x = pos.getEndX(200);
    y = pos.getEndY(200);
    mass = m;
  }

  void update(Vect2d force) {
    vel.add(force);
  }

  void move() {
    pos.add(vel);
    x = pos.getEndX(200);
    y = pos.getEndY(200);
    render();
  }

  void move(int ix, int iy) {
    x = ix;
    y = iy;
    pos = new Vect2d(ix - 200, iy - 200);
  }

  void destroy() {
    int i;

    for(i=0; i<pixel.length; i++) {
      if((pixel[i] & 0xFF000000) != 0)
        pixel[i] -= 0x20000000;
    }
  }
}
