def next_generation_cell(left, middle, right)
      case [left, middle, right]
      when [1,1,1] then @binary_string[0].to_i
      when [1,1,0] then @binary_string[1].to_i
      when [1,0,1] then @binary_string[2].to_i
      when [1,0,0] then @binary_string[3].to_i
      when [0,1,1] then @binary_string[4].to_i
      when [0,1,0] then @binary_string[5].to_i
      when [0,0,1] then @binary_string[6].to_i
      when [0,0,0] then @binary_string[7].to_i
      end
    end
def next_generation_cell(left, middle, right)
      case [left, middle, right]
      when [1,1,1] then @binary_string[0].to_i
      when [1,1,0] then @binary_string[1].to_i
      when [1,0,1] then @binary_string[2].to_i
      when [1,0,0] then @binary_string[3].to_i
      when [0,1,1] then @binary_string[4].to_i
      when [0,1,0] then @binary_string[5].to_i
      when [0,0,1] then @binary_string[6].to_i
      when [0,0,0] then @binary_string[7].to_i
      end
    end
Returns 0 or 1.