コード例 #1
0
        private List <Tuple <string, bool> > GetWords()
        {
            var db         = new RandomWordsContext(Path.Combine(dbFolder, fileName));
            int wordNumber = 0;
            var qwerty     = db.Words;

            foreach (var item in qwerty)
            {
            }
            int counts = db.Words.Count();

            wordNumber = new Random().Next(0, counts - 1);

            int orderNumber = new Random().Next(0, 3);


            var word = db.Words.Find(wordNumber);

            currentWord = word.EnglishWord; //set true english word
                                            //   this.label1.Text = word.RussianhWord;// set label russian word

            MainThread.BeginInvokeOnMainThread(() =>
            {
                (this.FindByName("russianWordLabel") as Label).Text = word.RussianhWord;
            });

            //   attempts_label.Text = word.Try + "/5"; // counter attempts

            List <Tuple <string, bool> > List = new List <Tuple <string, bool> >();

            for (int i = 0; i <= 3; i++)
            {
                if (i == orderNumber)
                {
                    List.Add(new Tuple <string, bool>(word.EnglishWord, true));
                }
                else
                {
                    List.Add(new Tuple <string, bool>(GetFakeWords(), false));
                }
            }
            return(List);
        }
コード例 #2
0
        private void CheckWord(Button checkButton)
        {
            var settings = new SpeechOptions()
            {
                Volume = 1.0f, Pitch = 1.0f
            };

            TextToSpeech.SpeakAsync(currentWord, settings);

            if (checkButton.Text == currentWord)
            {
                using (var db = new RandomWordsContext(Path.Combine(dbFolder, fileName)))
                {
                    var tableToChange = db.Words.SingleOrDefault(b => b.EnglishWord == currentWord);    // add try +1
                    int numberOfTry   = tableToChange.Try;

                    if (numberOfTry == 5)
                    {
                        db.Remove(tableToChange);
                    }
                    else
                    {
                        tableToChange.Try++;
                    }
                    db.SaveChanges();
                }
            }
            else
            {
                using (var db = new RandomWordsContext(Path.Combine(dbFolder, fileName)))
                {
                    var tableToChange = db.Words.SingleOrDefault(b => b.EnglishWord == currentWord); // refresh try 0
                    tableToChange.Try = 0;
                    db.SaveChanges();
                }

                Thread.Sleep(500);
                try
                {
                    TextToSpeech.SpeakAsync(currentWord, settings);
                }
                catch {
                }
            }


            MainThread.BeginInvokeOnMainThread(() =>
            {
                if (btn1.Text == currentWord)
                {
                    btn1.BackgroundColor = Color.Green;
                }                                                                     //else { button2.BackColor = Color.Red; }
                if (btn2.Text == currentWord)
                {
                    btn2.BackgroundColor = Color.Green;
                }                                                                     //else { button3.BackColor = Color.Red; }
                if (btn3.Text == currentWord)
                {
                    btn3.BackgroundColor = Color.Green;
                }                                                                     //else { button4.BackColor = Color.Red; }
                if (btn4.Text == currentWord)
                {
                    btn4.BackgroundColor = Color.Green;
                }                                                                     //else { button5.BackColor = Color.Red; }
                btn1.IsEnabled = false;
                btn2.IsEnabled = false;
                btn3.IsEnabled = false;
                btn4.IsEnabled = false;
            });


            Thread.Sleep(3000);
            TextToSpeech.SpeakAsync(currentWord, settings);
            Thread.Sleep(2000);
            MainThread.BeginInvokeOnMainThread(() =>
            {
                btn1.BackgroundColor = Color.DarkGray;
                btn2.BackgroundColor = Color.DarkGray;
                btn3.BackgroundColor = Color.DarkGray;
                btn4.BackgroundColor = Color.DarkGray;
                SetWords();
            });
        }