Previous page: Daily Crap 2009-12-10
Next page: Daily Crap 2009-12-20


Daily Crap 2009-12-15

  1. # hey, it's ruby tiiiiime
    
    def roll_one
      rand(6) + 1
    end
    
    def roll prev_square = 0, num_doubles = 0
      roll1, roll2 = roll_one, roll_one
      if roll1 == roll2 && num_doubles == 0
        [prev_square + roll1 + roll2] + roll(prev_square + roll1 + roll2, num_doubles + 1)
      else
        [prev_square + roll1 + roll2]
      end
    end
    
    times = 1000000
    
    counts = []
    times.times do
      roll.each do |s|
        if counts[s]
          counts[s] += 1
        else
          counts[s] = 1
        end
      end
    end
    
    puts "Monopoly roll probabilities"
    counts.each_with_index do |c, i|
      puts "chances of rolling #{i}\t#{(c || 0).to_f / times * 100.0} %"
    end

Comments

Click here to view the comments on this post.