Class: NextNumberDeterminator

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

Instance Method Summary collapse

Constructor Details

#initializeNextNumberDeterminator

Returns a new instance of NextNumberDeterminator.



2
3
4
# File 'lib/threesmodel/next_number_determinator.rb', line 2

def initialize
  @score_table = [0,1,2,3,6,12,24,48,96,192,384,768,1536,3072,6144]
end

Instance Method Details

#highest_number(game_board) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/threesmodel/next_number_determinator.rb', line 6

def highest_number(game_board)
  highest = 0
  game_board.row_vectors.each {|row|
    row.to_a.each {|value|
      if (value > highest) then
        highest = value
      end
    }
  }
  return highest
end

#select_number(game_board) ⇒ Object



18
19
20
# File 'lib/threesmodel/next_number_determinator.rb', line 18

def select_number(game_board)
  @score_table[rand(1..([3, @score_table.index(highest_number(game_board))-2].max))]
end