using System; using System.Collections.Generic; using Life.Misc; namespace Life.Automaton { public delegate Cell[,] Rule(IField old); public interface IField : IObservable { Size Size { get; } Cell this[int x, int y] { get; set; } IEnumerable Cells { get; } IEnumerable Neighbours(int x, int y); void Transform(Rule rule); } }