예제 #1
0
        public sbyte[][][] SimulateBlock([FromBody] BlockStartConditions blockStartConditions)
        {
            var startMatrix = new Matrix(blockStartConditions.Matrix);
            var rules       = blockStartConditions.RuleSet.Select(m => new BlockRule(m)).ToList();
            var res         = CaHelper.SimulateBlock(startMatrix, rules, blockStartConditions.Steps);

            return(res);
        }
예제 #2
0
        public sbyte[][][] SimulateMoore([FromBody] MooreStartConditions mooreStartConditions)
        {
            var startMatrix = new Matrix(mooreStartConditions.Matrix);
            var rules       = mooreStartConditions.RuleSet.Select(RuleHelper.GetMooreRule).ToList();
            var res         = CaHelper.SimulateMoore(startMatrix, rules, mooreStartConditions.Steps, mooreStartConditions.DefaultValue);

            return(res);
        }