Beefy Boxes and Bandwidth Generously Provided by pair Networks vroom
There's more than one way to do things
 
PerlMonks  

Re: Trick die rolling

by Parham (Friar)
on Mar 10, 2002 at 23:17 UTC ( #150780=note: print w/ replies, xml ) Need Help??


in reply to Trick die rolling

in any 1 roll, it rerolls the lowest number. It will also add the three highest sets of rolls and print it out. I know my version isn't as well done as others, but i didn't sit down to really work with it.. just fixed your code here and there to try and keep as much of it intact :).

#!/usr/bin/perl use warnings; use strict; #Die Roller: uses 4d6 discarding the lowest number #rerolling any roll of 1 my $roll = 6; my @sums; until ($roll == 0) { my @d6; chomp $roll; $roll--; $d6[0] = int(rand(6) + 1); $d6[1] = int(rand(6) + 1); $d6[2] = int(rand(6) + 1); $d6[3] = int(rand(6) + 1); @d6 = sort @d6; $d6[0] = int(rand(6) + 1); #reroll lowest number my $sum = $d6[0] + $d6[1] + $d6[2] + $d6[3]; push(@sums, $sum); print "$d6[0], $d6[1], $d6[2], $d6[3] : $sum\n\n"; } @sums = sort @sums; my $three_highest = $sums[3] + $sums[4] + $sums[5]; #add three highest + numbers in array print "total of three highest roles : $three_highest";
EDIT... posted too quick and didn't even read your post in whole (missed the reroll of ONLY 1's)... i guess you didn't want one that looked like your version either :P, nonetheless, i'll keep the code here for you :).


Comment on Re: Trick die rolling
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://150780]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2014-04-20 17:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls