#!/bin/env ruby slopes = { :one => { :right => 1, :down => 1}, :two => { :right => 3, :down => 1}, :three => { :right => 5, :down => 1}, :four => { :right => 7, :down => 1}, :five => { :right => 1, :down => 2} } input = Array.new File.readlines('./input').each.with_index do |line, i| line.strip! input[i] = line.split('') end input.each do |x| x.map! do |y| y == '#' ? true : false end end collisions = Array.new slopes.each do |num, slope| i = 0 trees = 0 len = input[0].length input.each.with_index do |row, row_num| next if (slope[:down] == 2 and row_num.odd?) trees += 1 if row[i] i +=slope[:right] i = i - len if i >= len end collisions.push(trees) puts "On slope #{num.to_s} We hit #{trees} trees" end puts "Multiplied together we get: #{collisions.inject(:*)}"