private static WordResultSet FindNewSet(string param, int indexStartSize, WordResultSet wrs, Crypto cChecker, List <string> fixedLetters, int currWordSize) { WordResultSet newSet = new WordResultSet(); string intendedWord = param.Substring(indexStartSize, currWordSize).ToLower(); for (int i = 0; i < intendedWord.Length; i++) { if (intendedWord[i] != '_') { fixedLetters.Add(i + ":" + intendedWord[i]); } } foreach (var dictionary_word in wrs.wordSet) { string dict_word = dictionary_word.ToLower(); if (cChecker.IsPattern(dict_word, fixedLetters, intendedWord.Length)) { newSet.AddNew(dictionary_word); } } return(newSet); }
private static WordResultSet GetPatternedWordSet(string param, ListResultSet wordSet, ref int indexStartSize, int k, WordResultSet wrs) { Crypto cChecker = new Crypto(); List <string> fixedLetters = new List <string>(); int currWordSize = wrs.GetWordSize(); const int index1 = 1, index2 = 2, index3 = 3; if ((k - index1) >= index2) { indexStartSize = wordSet.allWordResultSets[k - index1].GetWordSize() + wordSet.allWordResultSets[k - index2].GetWordSize() + wordSet.allWordResultSets[k - index3].GetWordSize(); } else if (((k - index1) > 0) & ((k - index1) < index2)) { indexStartSize = wordSet.allWordResultSets[k - index1].GetWordSize() + wordSet.allWordResultSets[k - index2].GetWordSize(); } else if ((k - index1) == 0) { indexStartSize = wordSet.allWordResultSets[k - index1].GetWordSize(); } return(FindNewSet(param, indexStartSize, wrs, cChecker, fixedLetters, currWordSize)); }
public WordResultSet getWordsWithSize(int size) { WordResultSet wordSet = new WordResultSet(size); foreach (var word in dictionaryWords) { if (word.Length == size) { wordSet.AddNew(word); } } return(wordSet); }
/// <summary> /// This method evaluates the user's innput and checks it for patterns against /// specific dictionary words from a list of word sets. /// </summary> /// <param name="param">String letters and placeholders of pattern</param> /// <param name="wordSet">List of word sets to check</param> /// <returns>List of modified word sets with the correct pattern</returns> private ListResultSet GetPatternListSet(string param, ListResultSet wordSet) { ListResultSet simplifiedSet = new ListResultSet(); int indexStartSize = 0; for (int k = 0; k < wordSet.allWordResultSets.Count; k++) { WordResultSet wrs = wordSet.allWordResultSets[k]; WordResultSet newSet = GetPatternedWordSet(param, wordSet, ref indexStartSize, k, wrs); simplifiedSet.AddNew(newSet); } return(simplifiedSet); }
public void AddNew(WordResultSet resultSet) { allWordResultSets.Add(resultSet); }