@@ -107,6 +107,9 @@ void main() {
107
107
* cap/clamp:
108
108
* ` 4d20 C<5 ` -- roll 4d20, change any value < 5 to 5
109
109
* ` 4d20 C>15 ` -- roll 4d20, change any value > 15 to 15
110
+ * sorting results
111
+ * ` 4d20 s ` -- results sorted in ascending order
112
+ * ` 4d20 sd ` -- results sorted in descending order
110
113
111
114
* scoring dice rolls:
112
115
* counting:
@@ -234,16 +237,100 @@ Sometimes it's nice to change the output type so you can see the graph of result
234
237
235
238
``` console
236
239
# show the result graph:
237
- ❯ dart run example/main.dart -o pretty ' 3d6 #cs #cf'
238
- (((3d6) #cs ) #cf ) ===> RollSummary(total: 9, results: [1(d6)❌, 3(d6), 5(d6)], critFailureCount: 1)
239
- (((3d6) #cs ) #cf ) =count=> RollResult(total: 9, results: [1(d6)❌, 3(d6), 5(d6)])
240
- ((3d6) #cs ) =count=> RollResult(total: 9, results: [1(d6), 3(d6), 5(d6)])
241
- (3d6) =rollDice=> RollResult(total: 9, results: [1(d6), 3(d6), 5(d6)])
242
-
243
- ❯ dart run example/main.dart -o json ' 3d6 #cs #cf'
244
- {"expression":"(((3d6) #cs ) #cf )","total":9,"results":[2,3,4],"detailedResults":{"expression":"(((3d6) #cs ) #cf )","opType":"count","nsides":6,"ndice":3,"results":[2,3,4],"left":{"expression":"((3d6) #cs )","opType":"count","nsides":6,"ndice":3,"results":[2,3,4],"left":{"expression":"(3d6)","opType":"rollDice","nsides":6,"ndice":3,"results":[2,3,4],"metadata":{"rolled":[2,3,4]}}}},"metadata":{"rolled":[2,3,4]}}
245
-
240
+ ❯ dart run example/main.dart -o pretty ' 3d6 #cs #cf'
241
+ (((3d6) #cs ) #cf ) ===> RollSummary(total: 13, results: [6(d6✅), 5(d6), 2(d6)], critSuccessCount: 1)
242
+ (((3d6) #cs ) #cf ) =count=> RollResult(total: 13, results: [6(d6✅), 5(d6), 2(d6)])
243
+ ((3d6) #cs ) =count=> RollResult(total: 13, results: [6(d6✅), 5(d6), 2(d6)])
244
+ (3d6) =rollDice=> RollResult(total: 13, results: [6(d6), 5(d6), 2(d6)])
246
245
246
+ ❯ dart run example/main.dart -o json ' 3d6 #cs #cf' | jq
247
+ {
248
+ "expression": "(((3d6) #cs ) #cf )",
249
+ "total": 12,
250
+ "results": [
251
+ {
252
+ "result": 4,
253
+ "nsides": 6,
254
+ "dieType": "polyhedral"
255
+ },
256
+ {
257
+ "result": 5,
258
+ "nsides": 6,
259
+ "dieType": "polyhedral"
260
+ },
261
+ {
262
+ "result": 3,
263
+ "nsides": 6,
264
+ "dieType": "polyhedral"
265
+ }
266
+ ],
267
+ "detailedResults": {
268
+ "expression": "(((3d6) #cs ) #cf )",
269
+ "opType": "count",
270
+ "results": [
271
+ {
272
+ "result": 4,
273
+ "nsides": 6,
274
+ "dieType": "polyhedral"
275
+ },
276
+ {
277
+ "result": 5,
278
+ "nsides": 6,
279
+ "dieType": "polyhedral"
280
+ },
281
+ {
282
+ "result": 3,
283
+ "nsides": 6,
284
+ "dieType": "polyhedral"
285
+ }
286
+ ],
287
+ "left": {
288
+ "expression": "((3d6) #cs )",
289
+ "opType": "count",
290
+ "results": [
291
+ {
292
+ "result": 4,
293
+ "nsides": 6,
294
+ "dieType": "polyhedral"
295
+ },
296
+ {
297
+ "result": 5,
298
+ "nsides": 6,
299
+ "dieType": "polyhedral"
300
+ },
301
+ {
302
+ "result": 3,
303
+ "nsides": 6,
304
+ "dieType": "polyhedral"
305
+ }
306
+ ],
307
+ "left": {
308
+ "expression": "(3d6)",
309
+ "opType": "rollDice",
310
+ "results": [
311
+ {
312
+ "result": 4,
313
+ "nsides": 6,
314
+ "dieType": "polyhedral"
315
+ },
316
+ {
317
+ "result": 5,
318
+ "nsides": 6,
319
+ "dieType": "polyhedral"
320
+ },
321
+ {
322
+ "result": 3,
323
+ "nsides": 6,
324
+ "dieType": "polyhedral"
325
+ }
326
+ ],
327
+ "total": 12
328
+ },
329
+ "total": 12
330
+ },
331
+ "total": 12
332
+ }
333
+ }
247
334
```
248
335
249
336
## Statistics output
0 commit comments