def QRUtil.demerit_points_3_dangerous_patterns(modules)
demerit_points = 0
module_count = modules.size
modules.each do |row|
(module_count - 6).times do |col_idx|
if row[col_idx] &&
!row[col_idx + 1] &&
row[col_idx + 2] &&
row[col_idx + 3] &&
row[col_idx + 4] &&
!row[col_idx + 5] &&
row[col_idx + 6]
demerit_points += DEMERIT_POINTS_3
end
end
end
(0...module_count).each do |col|
(0...(module_count - 6)).each do |row|
if modules[row][col] &&
!modules[row + 1][col] &&
modules[row + 2][col] &&
modules[row + 3][col] &&
modules[row + 4][col] &&
!modules[row + 5][col] &&
modules[row + 6][col]
demerit_points += DEMERIT_POINTS_3
end
end
end
return demerit_points
end