Exemple #1
0
        private char ProcessConversionFlow(char input)
        {
            int position = _plugBoard.Process(input);

            position = _entryWheel.Process(position);
            position = _fastRotor.Process(position, true);
            position = _middleRotor.Process(position, _fastRotor.IsTurnedOver);
            position = _slowRotor.Process(position, _middleRotor.IsTurnedOver);

            position = _reflector.Reflect(position);

            position = _slowRotor.ProcessReflection(position);
            position = _middleRotor.ProcessReflection(position);
            position = _fastRotor.ProcessReflection(position);
            position = _entryWheel.ProcessReflection(position);
            var outputValue = _plugBoard.ProcessReflection(position);

            return(outputValue);
        }