Exemplo n.º 1
0
 private int calculateNewInterval(UserFlashcardMemory memory, double newStrength, ReviewCard card)
 {
     if (card.InternallLossCount == 0)
     {
         return(intervalService.CalculateNewIntervalForWin(memory.LastInterval, newStrength, memory.IntervalCount + 1));
     }
     else
     {
         return(intervalService.CalculateNewIntervalForLoss(memory.LastInterval, newStrength, memory.IntervalCount + 1));
     }
 }
Exemplo n.º 2
0
 private double calculateNewStrength(ReviewCard card, UserFlashcardMemory oldMemory, double correctness)
 {
     if (card.InternallLossCount == 0)
     {
         return(strengthService.CalculateStrengthAfterGoodAnswer((double)oldMemory.Strength, correctness));
     }
     else
     {
         return(strengthService.CalculateStrengthAfterWinningBadAnswer((double)oldMemory.Strength, card.InternallLossCount));
     }
 }
Exemplo n.º 3
0
        public ReviewCard AddCardBasedOnMemory(UserFlashcardMemory memory, long reviewID)
        {
            var card = new ReviewCard()
            {
                ReviewID           = reviewID,
                FlashcardID        = memory.FlashcardID,
                InternallLossCount = 0
            };

            Add(card);
            return(card);
        }