Class: MontyHallProblem::Host

Inherits:
Object
  • Object
show all
Defined in:
lib/monty_hall_problem.rb

Instance Method Summary collapse

Constructor Details

#initialize(doors, car_size = 1) ⇒ Host

Returns a new instance of Host.



8
9
10
11
# File 'lib/monty_hall_problem.rb', line 8

def initialize(doors, car_size=1)
  @doors = doors
  @car_size = car_size
end

Instance Method Details

#make_known(idx) ⇒ Object



27
28
29
# File 'lib/monty_hall_problem.rb', line 27

def make_known(idx)
  @doors.door[idx]
end

#open_wronth_door(idx, open_size = 1) ⇒ Object



21
22
23
24
25
# File 'lib/monty_hall_problem.rb', line 21

def open_wronth_door(idx, open_size = 1)
  idxs = (@doors.no_car_door_idx - Array(idx)).sample(open_size)
  @doors.opened_door_idx += idxs unless idxs.empty?
  idxs
end

#put_carsObject



13
14
15
16
17
18
19
# File 'lib/monty_hall_problem.rb', line 13

def put_cars
  @car_size.times do
    loop do
      break if @doors.put(rand(@doors.size))
    end
  end
end