Begin forwarded message:

> From: "Linklater, Lloyd \(IT\)" <LINKLLL / voughtaircraft.com>
> Date: June 6, 2007 1:03:25 PM CDT
> To: <submission / rubyquiz.com>
> Subject: Please Forward: Ruby Quiz Submission
>
> I saw quiz 61 and wanted to send in something.  I am a ruby n00b  
> and want to contribute if I can.
>
> When generating DND stats, you get to roll 4 dice and use the 3  
> best rolls.  This is done for 6 stats.  My version rolls ten  
> thousand times and picks a good one from them.  This stat list is  
> then shown with the best stat in the first place and sorted  
> descending.  The idea behind this sorting is more than just making  
> it easier to read.  It allows for other code to place the stats  
> intelligently.  e.g.  warriors get strength first, constitution  
> second, etc.  Wizards get intelligence first and dex second, and so  
> on.
>
> ar = Array.new
> stats = Array.new
> bestStats = Array.new
> 10_000.times do |k|
>   6.times do |j|
>     4.times {|i| ar[i] = rand(6)}
>     ar.sort!
>     stats[j] = ar[1] + ar[2] + ar[3] + 3
>   end
>   bestStats[k] = stats.sort
> end
> bestStats.sort!.reverse!
> p bestStats[0].reverse
>
> I do not know if I am writing good code or not.  I am too new to  
> ruby for that.  I can know that it looks good to me and it works.  :)
>
> Thanks!
>
> Lloyd Linklater
>