import java.awt.*;

public class Pawn extends ChessPiece
{
    public Pawn (int c, Image p, Component l)
    {
	super (c, p, l);

    }

    public boolean legalMove (ChessBoard cb, int x, int y)
    {
	if (!moveForward (x, y))
	    return false;
	int dist = moveDistance (x, y);
	if (dist == 2)
	    return (onHomeSquare () && moveStraight (x, y)
		    && legalCapture (cb, x, y) == 0
		    && !moveBlocked (cb, x, y));
	if (dist != 1)
	    return false;
	if (!moveStraight (x, y)) {
	    if (moveDiagonally (x, y) && moveDistance (x, y) == 1 &&
		legalCapture (cb, x, y) == 1) {
		return true;
	    } else {
		return false;
	    }
	}

	if (legalCapture (cb, x, y) != 0)
	    return false;
	return true;
    }

    public boolean onHomeSquare ()
    {
	if (color == WHITE)
	    return squareY == 1;
	else
	    return squareY == 6;
    }
}

