```------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
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
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--

```