Sha256: 46a7ca6cff6d889fb52616678c5cd790d26923b9dfad84c1aa48772a1cd30d4d
Contents?: true
Size: 626 Bytes
Versions: 1
Compression:
Stored size: 626 Bytes
Contents
module EulersDayOff class Scorer attr_writer :word_list def initialize(word_list) @word_list = word_list end def score(board) _score_board(board) + _score_board(board.transpose) end private def _score_board(board) board.inject(0) do |acc, row| return acc unless row.compact.length >= 3 acc + _score_row(row) end end def _score_row(row) (3..row.compact.size).to_a.reverse.each do |length| row.each_cons(length) do |cons| return length if @word_list.include?(cons.join) end end 0 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eulers_day_off-0.1.0 | lib/eulers_day_off/scorer.rb |