Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

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 :).

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2018-04-20 16:42 GMT
Find Nodes?
    Voting Booth?