/*
 * Tail.java
 *
 * Created on 18 July 2002, 10:48
 */



/**
 *
 * @author  gbspashj
 */

import java.awt.*;

public class Tail extends Part implements Actor {
       
    public Tail( int x, int y ) {
        super(x,y);
        setNext(null);
        setLast(null);
    }

    private int direction( int x ) {
        return x < 0 ? -1 : x > 0 ? 1 : 0;
    }
    
    public void moveDelta( int dir, int dist ) {
        
        
        if ( last.getX() == x && last.getY() == y ) {
            last.getLast().setNext(this);
            last = last.getLast();
        }
            
        
        int dir_x = direction( last.getX() - x );
        int dir_y = direction( last.getY() - y );
        
        x += dir_x * dist;
        y += dir_y * dist;
    }
    
    public void visit(ActorVisitor av) {
        av.visitTail(this);
    }    
    
}
