Ejemplo n.º 1
0
        /// <summary>
        /// Provides a hint to the player, will show all available anagrams for the letters
        /// in their rack.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnHint_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;

            WordHint.ClearText();

            WordHint.BeginUpdate();

            foreach (var w in Game.Resolver.FindMoves(PlayerManager.CurrentPlayer.Name == PlayerManager.PlayerOne.Name ?  Game.Player1: Game.Player2))
            {
                WordHint.AddWord(w);
            }

            WordHint.EndUpdate();
            Cursor.Current = Cursors.Default;
        }
Ejemplo n.º 2
0
 private void OnMicDictationResponseReceivedHandler(object sender, SpeechResponseEventArgs e)
 {
     if (e.PhraseResponse.RecognitionStatus == RecognitionStatus.EndOfDictation ||
         e.PhraseResponse.RecognitionStatus == RecognitionStatus.DictationEndSilenceTimeout)
     {
         Dispatcher.Invoke(
             (Action)(() =>
         {
             StartButton_Click(null, null);
         }));
         return;
     }
     Dispatcher.Invoke(
         (Action)(() =>
     {
         RecognizeResult.Document.Blocks.Clear();
         if (e.PhraseResponse.Results.Length > 0)
         {
             RecognizeResult.AppendText(e.PhraseResponse.Results[0].DisplayText);
         }
         RecognizeResult.SelectAll();
         RecognizeResult.Selection.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Black);
         RecognizeResult.Selection.Select(RecognizeResult.Document.ContentEnd, RecognizeResult.Document.ContentEnd);
     }));
     if (e.PhraseResponse.Results.Length > 0)
     {
         Task.Run(() =>
         {
             {
                 using (var wc = new WebClient())
                 {
                     wc.Headers.Add("Ocp-Apim-Subscription-Key", "b53f42d2ebb64913861d26cfe65da32a");
                     var res = wc.UploadString("https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/keyPhrases", "{\"documents\":[{\"language\":\"en\",\"id\":\"1\",\"text\":\"?\"}]})".Replace("?", e.PhraseResponse.Results[0].DisplayText));
                     res     = Regex.Match(res, "\"keyPhrases\":\\[(.*?)\\]").Groups[1].Value;
                     Dispatcher.Invoke(
                         (Action)(() =>
                     {
                         RecognizeResult2.Document.Blocks.Clear();
                         RecognizeResult.Selection.Select(RecognizeResult.Document.ContentStart, RecognizeResult.Document.ContentEnd);
                         RecognizeResult2.AppendText(RecognizeResult.Selection.Text);
                         RecognizeResult.Selection.Select(RecognizeResult.Document.ContentEnd, RecognizeResult.Document.ContentEnd);
                         foreach (Match match in Regex.Matches(res, "\"(.+?)\""))
                         {
                             var word = match.Groups[1].Value;
                             var si = e.PhraseResponse.Results[0].DisplayText.IndexOf(word);
                             var sp = GetPoint(RecognizeResult2.Document.ContentStart, si);
                             var ep = GetPoint(sp, word.Length);
                             RecognizeResult2.Selection.Select(sp, ep);
                             RecognizeResult2.Selection.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(Colors.Yellow));
                         }
                     }));
                     Task.Run(() =>
                     {
                         using (var wc1 = new WebClient())
                         {
                             var html = "<style>b{font-weight:normal;background-color:yellow}</style><ul>";
                             foreach (Match match in Regex.Matches(res, "\"(.+?)\""))
                             {
                                 wc1.Headers.Add("Ocp-Apim-Subscription-Key", "74c0f1f7c19b49018ddd9949a9d7ea56");
                                 wc1.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko");
                                 var word = match.Groups[1].Value;
                                 var res1 = wc1.DownloadString("https://api.cognitive.microsoft.com/bing/v5.0/search?count=1&responseFilter=Webpages&textDecorations=true&textFormat=HTML&q=" + System.Uri.EscapeUriString(word));
                                 res1     = Regex.Match(res1, "\"snippet\": \"(.*?)\"").Groups[1].Value;
                                 html    += "<li>" + res1 + "</li>";
                             }
                             html += "</ul>";
                             Dispatcher.Invoke(() => { WordHint.NavigateToString(html); });
                         }
                     });
                 }
             }
         });
     }
 }