@Override
    public boolean CheckMotion(Point targetPoint)
    {
        if (targetPoint.y <= y)
        {
            return false;
        }

        int dX = Math.abs(targetPoint.x - x), dY = targetPoint.y - y;

        if (dX == 2 && dY == 2
                && board[(targetPoint.x + x) / 2][(targetPoint.y + y) / 2] != null
                && board[(targetPoint.x + x) / 2][(targetPoint.y + y) / 2].getColor() != Color.BLACK)
        {
            return true;
        }
        if (dX == 1 && dY == 1)
        {
            return true;
        }

        return false;
    }