What I would do...
store your point that is blank in an array
@free = ([2,3])
Then do a
while($ary = shift @free)
Which will give you the first free point.
Then write some code that looks at all the all the
adjacent boxes. Open them all up, and if any of them
have no mines near them, do a
push @free, (new,point);
What that will do is use @free as a stack, and basically
recurse through it analyzing all necessary points until
you are done.
You should probably also use a hash to store which points
you have visited around the stack and ignore them. something
like
# point is 3,5 $x = 3 $y = 5
next if $seen{"$x,$y")++; #checks and then increments in one line
Otherwise you could just loop infinately :)
- Ant