public static boolean isMoveBishop(final int x, final int y, final boolean promote) {
		int bx = (0 > x) ? x * -1 : x;
		int by = (0 > y) ? y * -1 : y;
		if (bx == by)
			return true;
		if (promote) {
			if (-1 == x && -1 == y)
				return true;
			else if (0 == x && -1 == y)
				return true;
			else if (1 == x && -1 == y)
				return true;
			else if (-1 == x && 0 == y)
				return true;
			else if (1 == x && 0 == y)
				return true;
			else if (-1 == x && 1 == y)
				return true;
			else if (0 == x && 1 == y)
				return true;
			else if (1 == x && 1 == y)
				return true;
		}
		return false;
	}