Ejemplo n.º 1
0
        public static Book RandomBook()
        {
            var books     = GetBooks();
            int bookIndex = CryptoRandom.NextIndex(books.Count);

            return(books[bookIndex]);
        }
Ejemplo n.º 2
0
        public Word NextWord(Word lastWord = null)
        {
            if (this.toLearn.Count == 0)
            {
                return(null);
            }

            var unknownWords = this.toLearn.ToList();

            if (this.toLearn.Count > 1 && lastWord != null)
            {
                unknownWords.Remove(lastWord);
            }

            int randomIndex = CryptoRandom.NextIndex(unknownWords.Count);

            return(unknownWords[randomIndex]);
        }
Ejemplo n.º 3
0
        private void PrepareWords(Category category, int count)
        {
            List <Word> wordsAlreadyLearned = CurrentUser.GetLearnedWords();
            var         allWords            = category.Words.Except(wordsAlreadyLearned).ToList();

            if (allWords.Count == 0)
            {
                // TODO: Losuj spośród pomyłek
                allWords = category.Words.ToList();
            }

            var noOfWordsInLesson = Math.Min(count, allWords.Count);

            for (int i = 0; i < noOfWordsInLesson; i++)
            {
                int randomIndex = CryptoRandom.NextIndex(allWords.Count);
                var word        = allWords[randomIndex];
                allWords.Remove(word);
                this.toLearn.Add(word);
            }
        }
Ejemplo n.º 4
0
        public Category RandomCategory()
        {
            int bookIndex = CryptoRandom.NextIndex(Categories.Count);

            return(Categories[bookIndex]);
        }