Por cierto en el ejemplo anterior, mi tablero tiene forma de donut, aunque en el tablero clasico parece ser que no es asi, es decir cuando se llega a un borde ya no se puede continuar. Cambiando la rutina "Contar" por esta otra se soluciona el problema:
Código Delphi
[-]
function TfrmMain.Contar(i,j: Integer): Integer;
var
x,y: Integer;
begin
Result:= 0;
for x:= i-1 to i+1 do
for y:= j-1 to j+1 do
begin
if (x>=0) and (x < COLUMNAS) and (y>=0) and (y < FILAS) then
if Tablero[x,y] then
inc(Result);
end;
if Tablero[i,j] then
dec(Result);
end;
Este cambio es necesario para que funcione el siguiente ejemplo sacado de la wikipedia. Pistola de planeadores de Gosper (Gosper Glider Gun)
Aqui os dejo el tablero, solo hay que cargarlo y darle a evolucionar