roll method

UnmodifiableListView<int> roll(
  1. int ndice,
  2. int nsides
)

Roll ndice of nsides and return results as list.

Implementation

UnmodifiableListView<int> roll(int ndice, int nsides) {
  RangeError.checkValueInInterval(ndice, minDice, maxDice, 'ndice');
  RangeError.checkValueInInterval(nsides, minSides, maxSides, 'nsides');
  // nextInt is zero-inclusive, add 1 so it starts at 1 like dice
  final results = [
    for (int i = 0; i < ndice; i++) _random.nextInt(nsides) + 1
  ];
  _log.finest(() => "roll ${ndice}d$nsides => $results");
  return UnmodifiableListView(results);
}