示例#1
0
        public void Find()
        {
            if (string.IsNullOrWhiteSpace(Theme))
            {
                IsGenerating = false;
                return;
            }

            IsGenerating = true;

            PunList = null;
            RevealedWords.Clear();

            Console.WriteLine(@"Getting Puns");

            var puns = SynSets.Except(CrossedOffSynsets)
                       .SelectMany(synSet => PunHelper.GetPuns(PunCategory, Theme, synSet, WordNetEngine.Value, PronunciationEngine.Value));

            PunList = puns
                      .Distinct()
                      .GroupBy(x => x.Word, StringComparer.OrdinalIgnoreCase)
                      .OrderByDescending(x => x.Count())
                      .ToList();

            Console.WriteLine($@"{PunList.Count} Puns Got");

            IsGenerating = false;
        }
示例#2
0
 public bool IsDefinded(string word, PartOfSpeech pos)
 {
     SynSetGroup[] synSetGrp;
     return(SynSets.TryGetValue(word, out synSetGrp) && synSetGrp.Any(grp => grp.PosSymbol == pos.symbol.First()));
 }