Пример #1
0
 /**
  * Construct a <code>RollInfo</code> from a string. The rules:
  *
  * <ol>
  *   <li>Optional positive integer, <var>times</var>.
  *   <li>Literal 'd' followed by positive integer, <var>sides</var>.
  *   <li>Optional literal '/' followed by positive integer, <var>keepTop</var>, or literal '\'
  *       followed by positive integer, <var>keepBottom</var>, or literal '|' followed by
  *       comma-separated list of postitive integers, <var>keepList</var> (1-indexed after dice
  *       have been sorted).
  *   <li>Optional literal 'm' (minimum) followed by positive integer, <var>rerollAbove</var>, or
  *       literal 'M' (maximum) followed by postive integer, <var>rerollBelow</var>.
  *   <li>Optional literal '+' or '-' followed by positive integer, <var>modifier</var>.
  *   <li>Optional literal 't' followed by positive integer, <var>totalFloor</var>, or literal 'T'
  *       followed by a positive *integer, <var>totalCeiling</var>.
  * </ol>
  *
  * Unlike previous versions of this method, it is <strong>case-sensitive</strong> with respect to
  * the alphabetic characters, e.g., only <code>d</code> (lower-case) is now valid, not also <code>
  * D</code> (upper-case). This is to accommodate the expanded ways to roll.
  *
  * @param rollString String compact representation of dice rolls
  */
 public RollInfo(final String rollString) {
   String errMsg = RollInfo.parseRollInfo(this, rollString);
   if (!StringUtils.isBlank(errMsg)) {
     Logging.errorPrint(errMsg);
   }
 }