Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^5: Dungeons and Dragons die roller (Golf)

by tybalt89 (Curate)
on Nov 07, 2016 at 19:17 UTC ( #1175459=note: print w/replies, xml ) Need Help??

in reply to Re^4: Dungeons and Dragons die roller (Golf)
in thread Dungeons and Dragons die roller (Golf)

2d4+10 2(q(+~~rand($')+d)x$`)4+10 2(q(+int(rand($'))+d)x$`)4+10 2(q(+int(rand('4+10'))+d)x2)4+10 2('+int(rand('4+10'))+d'x2)4+10 2('+int(rand('4+10'))+d'.'+int(rand('4+10'))+d')4+10 2+int(rand(4))+d+int(rand(4))+d4+10 # or looking at each term 2 # since rand return 0..N-1 instead on 1..N, we add one f +or every die +int(rand(4)) # int in 0..3 +d # 0 +int(rand(4)) # int in 0..3 +d4 # also 0, the 'd' are here to help ignore the 4 +10 # desired extra # then eval that :)

Replies are listed 'Best First'.
Re^6: Dungeons and Dragons die roller (Golf)
by Anonymous Monk on Nov 07, 2016 at 20:11 UTC
    Awesome, thank you! With a little bit of experimenting now, I found that rand(4+10) would pick 0...13, but rand('4+10') picks 0...3, ignoring everything beyond the first string of digits. I didn't realize that odd behavior, nor did I realize you could make something like 'd4', which is ignored when evaluating the statement, instead of causing an error. Those seem like odd loopholes in the way Perl works, but that just makes the whole command that much more beautiful. Thanks again!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1175459]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (11)
As of 2017-10-24 08:42 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (286 votes). Check out past polls.