private static List<PositionEntity> getMovePositionsBishop(final ChessBoardEntity b, final ChessmenEntity c) {
		List<PositionEntity> result = new ArrayList<PositionEntity>();
		PositionEntity p = null;
		if (c.isPromote()) {
			p = new PositionEntity(c.getPosition().getX(), c.getPosition().getY() - 1);
			if (enablePosition(b, p)) {
				result.add(p);
			}
			p = new PositionEntity(c.getPosition().getX() + 1, c.getPosition().getY());
			if (enablePosition(b, p)) {
				result.add(p);
			}
			p = new PositionEntity(c.getPosition().getX(), c.getPosition().getY() + 1);
			if (enablePosition(b, p)) {
				result.add(p);
			}
			p = new PositionEntity(c.getPosition().getX() - 1, c.getPosition().getY());
			if (enablePosition(b, p)) {
				result.add(p);
			}
		}
		int x;
		int y;
		x = c.getPosition().getX() - 1;
		y = c.getPosition().getY() - 1;
		while (true) {
			p = new PositionEntity(x, y);
			if (!enablePosition(p)) {
				break;
			}
			ChessmenEntity target = getChessmen(b, p);
			if (null == target) {
				result.add(p);
			} else {
				if (!target.isPlayer()) {
					result.add(p);
				}
				break;
			}
			x--;
			y--;
		}
		x = c.getPosition().getX() + 1;
		y = c.getPosition().getY() - 1;
		while (true) {
			p = new PositionEntity(x, y);
			if (!enablePosition(p)) {
				break;
			}
			ChessmenEntity target = getChessmen(b, p);
			if (null == target) {
				result.add(p);
			} else {
				if (!target.isPlayer()) {
					result.add(p);
				}
				break;
			}
			x++;
			y--;
		}
		x = c.getPosition().getX() + 1;
		y = c.getPosition().getY() + 1;
		while (true) {
			p = new PositionEntity(x, y);
			if (!enablePosition(p)) {
				break;
			}
			ChessmenEntity target = getChessmen(b, p);
			if (null == target) {
				result.add(p);
			} else {
				if (!target.isPlayer()) {
					result.add(p);
				}
				break;
			}
			x++;
			y++;
		}
		x = c.getPosition().getX() - 1;
		y = c.getPosition().getY() + 1;
		while (true) {
			p = new PositionEntity(x, y);
			if (!enablePosition(p)) {
				break;
			}
			ChessmenEntity target = getChessmen(b, p);
			if (null == target) {
				result.add(p);
			} else {
				if (!target.isPlayer()) {
					result.add(p);
				}
				break;
			}
			x--;
			y++;
		}
		return result;
	}