------art_17818_33254288.1173618548615
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Greetings and Salutations to each and all!

This is my first time submitting to the QUIZ.  Please critique, I'm still
learning Ruby, and TASM at school is messing with my brain (can't think
rubyly).

Here's the code:

class Snowflake
  attr_reader :grid, :vapor
  def initialize (y_size$, x_size0, vapor_percent0)
    @y_sizesize/2*2    #this should take care of those odd numbers
    @x_sizesize/2*2
    @vapor_percent
por_percent
    @vacuum"
    @vapor"
    @ice"
    @offset    create_grid
  end

  def create_grid
    @grid     @grid.collect! do |row|
      row.collect! do |square|
        rand(100) < @vapor_percent ? @vapor : @vacuum
      end
    end
    @grid[@y_size/2][@x_size/2]ce
  end

  def check_neighborhoods
    @offset  @offset +1)%2
    @grid.collect!{|row| row.push(row.slice!(0))}.push(@grid.slice!(0)) if
@offset 1  #torus me!
    (0...@y_size).step(2) do |i|
      (0...@x_size).step(2) do |j|
        neighborhoodgrid[i][j], @grid[i][j+1], @grid[i+1][j],
@grid[i+1][j+1]]
        if !neighborhood.include?(@vapor)
        elsif neighborhood.include?(@ice)
#there's got to be a rubyer way of doing this...
          @grid[i][j]         ce if  @grid[i][j]           @vapor
#top left corner
          @grid[i][j+1]     ce if  @grid[i][j+1]       @vapor     #one
right
          @grid[i+1][j]     ce if  @grid[i+1][j]       @vapor     #one
down
          @grid[i+1][j+1] ce if  @grid[i+1][j+1]   @vapor     #right
and down
        elsif rand(2)
          @grid[i][j], @grid[i][j+1], @grid[i+1][j], @grid[i+1][j+1] @grid[i+1][j], @grid[i][j], @grid[i+1][j+1], @grid[i][j+1]
        else        #It's the correct sequence, maybe...  I think...
          @grid[i][j], @grid[i][j+1], @grid[i+1][j], @grid[i+1][j+1] @grid[i][j+1], @grid[i+1][j+1], @grid[i][j], @grid[i+1][j]
        end
      end
    end   #pop is to push, as slice!(0) is to ???.  Many thanks to James
Edward Gray: flip the data!
    @grid.reverse!.collect!{|row| row.reverse!.push(row.slice!
(0)).reverse!}.push(@grid.slice!(0)).reverse! if @offset 
  end

  def to_s
    @grid.collect{|row| row.join}.join("\n")
  end
end

sowflake.new(18,18,10)
while s.grid.collect{|row| true if row.include?(s.vapor)}.include?(true)
  puts s
  5.times do puts end
  sleep(0.1)
  s.check_neighborhoods
end
  puts s

in Running through the finish line

               **
       *       *
       *   *  *
        *   **
         ** **
          **
        *** *
          ***
           * *
            * *
             *
             *


------art_17818_33254288.1173618548615--