Life

Needs["Lez`Life2`"] 
              (* Con lievi modificazioni rispetto a
                 life.m *)

LifeBlock (* coppie di posizioni relative *)

Glider

Mondo0=Table[Table[0,{4}],{3}];

MatrixForm[Mondo0]

Mondo=AddObject[Mondo0,{2,2},{{-1,1},{0,0},{1,1}}];

MatrixForm[Mondo]

(* per "avviluppare i dati al fine di congiungere
   i bordi *)

?Wrap

sviluppo=Wrap[Map[Wrap,Mondo]]

(* per estrarre submatrici 3x3 *)

partSvil=Partition[sviluppo,{3,3},{1,1}]

(* si applicano le regole *)

Map[LifeRule,partSvil,{2}]

(* oppure in modo automatizzato *)

Mondo2=LifeUpdate[Mondo]

ListDensityPlot[Mondo2*-1]

(* Un esempio più complesso, con l'aliante *)

Mondo0=Table[Table[0,{11}],{11}];

Mondo=AddObject[Mondo0,{3,9},Glider];

ListDensityPlot[Mondo*-1]

Mondo=AddObject[Mondo0,{3,9},Glider];
ListDensityPlot[Mondo*-1]
For[ciclo=1,ciclo<=18,ciclo++,
    Mondo=LifeUpdate[Mondo];ListDensityPlot[Mondo*-1]]