import java.applet.Applet;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;

import java.awt.image.ImageObserver;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import java.net.URL;
import java.net.MalformedURLException;

public class Vulture
extends      AnimatedSprite
implements   Runnable
{

    /**
     *  This constructor creates an Raster initialized
     *  with the contents of an image.
     */
    public Vulture( Image image, long delay )
    {
        super( image, null );
        
        animation_rule = getAnimationRule( delay );
    }
        
        
    /**
     *  Returns the animation rule
     */
    public AnimationRule
    getAnimationRule( long delay )
    {
        Rectangle     clips[];
        Point         offsets[];
        AnimationRule vulture_animation_rule = new AnimationRule();
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 16, 32, 21, 18 );
        offsets[0] = new Point( 5, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 73, 33, 30, 15 );
        offsets[0] = new Point( 1, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 39, 34, 31, 13 );
        offsets[0] = new Point( 1, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 44, 21, 26, 11 );
        offsets[0] = new Point( 3, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 73, 21, 30, 11 );
        offsets[0] = new Point( 1, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 11, 21, 31, 11 );
        offsets[0] = new Point( 1, 5 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
        
        clips      = new Rectangle[1];
        offsets    = new Point[1];
        clips[0]   = new Rectangle ( 24, 1, 33, 18 );
        offsets[0] = new Point( 0, 0 );
        vulture_animation_rule.appendClips( clips, delay, offsets );
    
        return vulture_animation_rule;    
    }
}
