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