public static void GetCharacterSet(string source)
        {
            bool isChinese = false;

            for (int i = 0; i < source.Length; ++i)
            {
                if (chineseStr.Contains(source[i].ToString()))
                {
                    isChinese = true;
                    break;
                }
            }

            if (isChinese)
            {
                LegalCharacters.AddRange(chineseStr);
            }
            else
            {
                LegalCharacters.Clear();

                for (int i = 0; i < defaultStr.Length; ++i)
                {
                    LegalCharacters.Add(defaultStr[i].ToString());
                }
            }
        }
        static TypingCharacters()
        {
            for (int i = 0; i < defaultStr.Length; ++i)
            {
                LegalCharacters.Add(defaultStr[i].ToString());
            }


            for (int i = 0x4e00; i < 0x9fa5; ++i)
            {
                byte[] charChinese = BitConverter.GetBytes(i);
                chineseStr.Add(UnicodeEncoding.Unicode.GetString(charChinese).Replace("\0", ""));
            }
        }
        public AdvancedPolyalphabetic(LegalCharacters chars, string keyPhrase)
        {
            KeyPhrase     = keyPhrase.Replace(" ", "");
            CompleteTable = new AdvancedPolyalphabeticTable("");

            if ((chars & LegalCharacters.Alphabetical) == LegalCharacters.Alphabetical)
            {
                CompleteTable += new AdvancedPolyalphabeticTable(Alphabetical);
            }

            if ((chars & LegalCharacters.Alphanumerical) == LegalCharacters.Alphanumerical)
            {
                CompleteTable += new AdvancedPolyalphabeticTable(Alphanumerical);
            }

            if ((chars & LegalCharacters.Symbols) == LegalCharacters.Symbols)
            {
                CompleteTable += new AdvancedPolyalphabeticTable(Symbols);
            }
        }
Exemple #4
0
        public VigenereCipher(LegalCharacters chars, string keyPhrase)
        {
            KeyPhrase     = keyPhrase.Replace(" ", "");
            CompleteTable = new CipherTable("");

            if ((chars & LegalCharacters.Alphabetical) == LegalCharacters.Alphabetical)
            {
                CompleteTable += new CipherTable(Alphabetical);
            }

            if ((chars & LegalCharacters.Alphanumerical) == LegalCharacters.Alphanumerical)
            {
                CompleteTable += new CipherTable(Alphanumerical);
            }

            if ((chars & LegalCharacters.Symbols) == LegalCharacters.Symbols)
            {
                CompleteTable += new CipherTable(Symbols);
            }
        }
 public static GameBoard Create(string board) => new GameBoard()
 {
     Board = new string(board.Where(c =>
                                    LegalCharacters.Contains(c)).ToArray())
 };