コード例 #1
0
        private void processGeneration()
        {
            var resultDict = new Dictionary <int, bool>();

            for (var i = RowOfPots.LowerBound; i <= RowOfPots.UpperBound; i++)
            {
                var currWindow    = RowOfPots.GetPotsInclusive(i, i + ProcessingWindowSize - 1);
                var currWindowKey = currWindow.SimplePotRangeHash();
                if (Instructions.InstructionsDict.ContainsKey(currWindowKey))
                {
                    var foundInstruction = Instructions.GetInstruction(currWindowKey);
                    resultDict[currWindow[2].PotNumber] = foundInstruction.Result;
                }
            }

            //Update our row dictionary
            RowOfPots.StartUpdate();
            //todo: testing a new method
            foreach (var kvp in RowOfPots.PotDict)
            {
                if (resultDict.ContainsKey(kvp.Key))
                {
                    RowOfPots.UpdatePot(kvp.Key, resultDict[kvp.Key]);
                }
                else
                {
                    RowOfPots.UpdatePot(kvp.Key, false);
                }
            }

            RowOfPots.EndUpdate();
        }