예제 #1
0
        private IMatrix <MainFieldSquare> MatrixUpcast()
        {
            var items = new MainFieldSquare[Matrix.Width, Matrix.Height];

            Matrix.ForEach((sqare, x, y) => items[x, y] = sqare as MainFieldSquare);

            return(new Matrix <MainFieldSquare>(items));
        }
예제 #2
0
        public static MainField Create(FieldSetting fieldSetting)
        {
            var items = new MainFieldSquare[fieldSetting.HorzDimension, fieldSetting.VertDimension];

            for (uint x = 0; x < fieldSetting.HorzDimension; x++)
            {
                for (uint y = 0; y < fieldSetting.VertDimension; y++)
                {
                    items[x, y] = new MainFieldSquare(x, y);
                }
            }

            return(new MainField(new Matrix <IMainFieldSquare>(items), fieldSetting.InitialSquares,
                                 fieldSetting.MaxSavedStatesCount));
        }