Dice rolling programs take too long.

Some demand syntax like /roll 2d6+2, and I think 'you should know that 2d6 is a roll without my typing /roll, and also everything I roll has been d6’s, so obviously if I type just 3, I mean ‘3d6’.

So I wrote one with defaults. This is my second python project, so the code isn’t pretty, but it does the job.

You write:

“”

 2d6
Result: 5

d8

2d8
Result: 12

3+1

3d8+1
Result: 8

If you give it a target number (TN), all rolls will tell you whether or not you’ve reached that TN.

If you give it a difficulty, it’ll tell you how many dice have landed on that number or above.

You can input these things in any reasonable format:

tn=18

TN 12

difficulty = 4

dif 9

  • Sandra@idiomdrottning.org
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    We’ve occasionally have had crashes when it heres us say like an URL or something and it happens to contain 30d0 in a longer string of line noise.

    • Ghast@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      I handed nd6 to my gf, and she immediately crashed it with 3d0. I’ve ended up with rather a lot of sanity checks and a test command.

      Ooh - and I added a new feature a couple of days ago. Type att = 2d6+1, and thereafter if you type att, it rolls that attack pool. Might be useful, but might be a headache for a multi-user program.