descriptions = {
  :fly    => ,
  :spider => ,
  :bird   => ,
  :cat    => ,
  :dog    => ,
  :goat   => ,
  :cow    => ,
  :horse  => ,
}
animals = descriptions.keys

animals.each_with_index do |animal, idx|
  puts 

  d = descriptions[animal]
  case d[-1]
  when  then d[-1] = 
  when  then d[-1] = 
  end
  puts d
  break if animal == :horse

  idx.downto(1) do |i|
    puts 
    case animals[i-1]
    when :spider, :fly then puts descriptions[animals[i-1]]
    end
  end

  print 
end