Penalize an incorrect item down to a score of -2
authorCarl Worth <cworth@cworth.org>
Thu, 19 Apr 2007 05:54:07 +0000 (22:54 -0700)
committerCarl Worth <cworth@cworth.org>
Thu, 19 Apr 2007 05:54:07 +0000 (22:54 -0700)
mnemon.c

index 9f28dfeb7a88dce584484c5648fafa0b75e49f6e..920f548f83466729a5c27f4cd2523b99d207774b 100644 (file)
--- a/mnemon.c
+++ b/mnemon.c
@@ -708,14 +708,19 @@ mnemon_do_challenges (mnemon_t *mnemon,
        } else {
            printf ("  %s is the correct answer.",
                    item->response);
-           if (item->score >= 0)
-               unlearned++;
-           item->score--;
            /* Penalize an incorrect response by forcing the score
             * negative. */
            if (item->score >= 0) {
-               item->score = -1;
-               printf ( " Oops, you knew that, right?\n ");
+               if (item->score > 0)
+                   printf ( " Oops, you knew that, right?\n ");
+               unlearned++;
+               /* We go to -2 to force a little extra reinforcement
+                * when re-learning an item, (otherwise, it will often
+                * get asked again immediately where it is easy to get
+                * a correct response without any learning). */
+               item->score = -2;
+           } else {
+               item->score--;
            }
        }