roll method
Roll ndice of nsides and return results as list.
Implementation
RollResult roll(int ndice, int nsides, [String msg = '']) {
RangeError.checkValueInInterval(ndice, minDice, maxDice, 'ndice');
RangeError.checkValueInInterval(nsides, minSides, maxSides, 'nsides');
// nextInt is zero-inclusive; add 1 so result will be in range 1-nsides
final results = [
for (int i = 0; i < ndice; i++) _random.nextInt(nsides) + 1,
];
_log.finest(() => "roll ${ndice}d$nsides => $results $msg");
return RollResult(
expression: "${ndice}d$nsides",
ndice: ndice,
nsides: nsides,
results: results,
);
}