in reply to Released - Acme::Dice

If I were actually going to use this, for RPGs or whatever, I’d prefer a “magical” overloaded interface. Not that I’ve had time for RPGs since I wrote dice rolling code in BASIC on a TRaSh 80… anyway, maybe more like–

print four(); my $four = four(); say $four + $four; say six() x 3;

Shouldn’t be too hard to have all the die functions being object constructors with various overloading.

Replies are listed 'Best First'.
Re^2: RFC - Acme::Dice
by Tanktalus (Canon) on Oct 16, 2013 at 17:43 UTC

    I always preferred standard RPG nomenclature here: "1d6", "3d6", "2d20+15" and then let my code pull that apart (simple regexes), roll the dice, and return it. A bias can be added either as a separate parameter (or two) or an extra "non-standard" addition to the above strings: "3d6>30%6" (3 6-sided dice, bias 30% toward 6). The nice thing about this is that it makes things so much easier to put into data files, e.g., "STR: 3d6>30%6" to make a monster that can't be any stronger than a standard human could be but does seem to average out a bit higher.

    This also happens to be much less magical, and magic often bites me in the butt often enough as it is :)

      As I mentioned above, I felt using the RPG notation would cumbersome for those who are not familiar with it. That, and I was too lazy to write the regex expressions. :)

      The answer to the question "Can we do this?" is always an emphatic "Yes!" Just give me enough time and money.