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); } }
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()) };