コード例 #1
0
        public override char GetMappedLetter(char letter, MappingDirection dir = MappingDirection.RightToLeft)
        {
            if (dir == MappingDirection.RightToLeft)
            {
                char innerMapping = Mapping[letter.AddOffset(-_offset) - 'A'];
                return(innerMapping.AddOffset(_offset));
            }

            char innerInput = letter.AddOffset(-_offset);

            return((char)(((Mapping.IndexOf(innerInput) + _offset) % AlphabetLength) + 'A'));
        }
コード例 #2
0
ファイル: RotorSocket.cs プロジェクト: antonbubel/Enigma
 private char GetEntryLetter(char letter)
 {
     return(letter.AddOffset(CurrentRingLetter));
 }
コード例 #3
0
ファイル: RotorSocket.cs プロジェクト: antonbubel/Enigma
 private char IncrementLetter(char letter)
 {
     return(letter.AddOffset(1));
 }