private int edge; // number in array where the type word quiz starts public QuizProvider() { count = 1; partOfGame = PartOfGame.MatchWords; WordsList = new ObservableCollection <string>(); TranslationList = new ObservableCollection <string>(); ObservableCollection <WordCard> list = new ObservableCollection <WordCard>(DictionaryLoader.ActiveDictionary.Dictionary); if (list != null) { var querySelected = from wordCard in list where wordCard.TimesAnsweredCorrectly < 12 select wordCard; selectedWordsList = new ObservableCollection <WordCard>(((IEnumerable <WordCard>)querySelected).ToList()); var querySeparated = from wordCard in list where wordCard.TimesAnsweredCorrectly >= 12 select wordCard; separatedWordList = new ObservableCollection <WordCard>(((IEnumerable <WordCard>)querySeparated).ToList()); } if (selectedWordsList.Count <= 5) { edge = -1; } else if (selectedWordsList.Count > 5 && selectedWordsList.Count <= 12) { edge = selectedWordsList.Count / 2; } else { edge = selectedWordsList.Count - 6; } FillWordLists(); }
public void FillWordLists() { WordsList.Clear(); TranslationList.Clear(); for (; count <= selectedWordsList.Count; count++) { WordsList.Add(selectedWordsList[count - 1].Word); TranslationList.Add(selectedWordsList[count - 1].Translation); if (count == edge) { partOfGame = PartOfGame.TypeWords; count++; break; } if (count % 5 == 0 && count != 0 && partOfGame == PartOfGame.MatchWords) { count++; break; } } }