]> git.cworth.org Git - mnemon/commitdiff
Fix state transition to enter mastery stage
authorCarl Worth <cworth@cworth.org>
Tue, 15 May 2007 23:34:35 +0000 (16:34 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 15 May 2007 23:34:35 +0000 (16:34 -0700)
Previously it would only enter the mastery stage when unlearned
became 0, but it would miss entering the stage when unlearned
was already 0 and to_introduce became 0. (That is, if you got
all the newly introduced items right on the first try, you could
then go on to demonstrate mastery of many items without being
credited for them towards the mastery quota.)

mnemon.c

index 321ab1433a9dd235e738354ba36ecc5f2e029acf..a7c4c6194ef18a2293f1bcbe23d3c23dd4e111fe 100644 (file)
--- a/mnemon.c
+++ b/mnemon.c
@@ -889,13 +889,6 @@ mnemon_handle_response (mnemon_t   *mnemon,
            item->score = 1;
            mnemon->unlearned--;
            printf ("You got it!");
-           if (mnemon->to_introduce == 0 &&
-               mnemon->unlearned == 0 &&
-               mnemon->to_master == 0)
-           {
-               mnemon->to_master = 10;
-               mnemon->mastered = 0;
-           }
        } else if (item->score < 0) {
            printf ("Yes---just give me %d more.",
                    - item->score);
@@ -925,6 +918,14 @@ mnemon_handle_response (mnemon_t   *mnemon,
        }
     }
 
+    if (mnemon->to_introduce == 0 &&
+       mnemon->unlearned == 0 &&
+       mnemon->to_master == 0)
+    {
+       mnemon->to_master = 10;
+       mnemon->mastered = 0;
+    }
+
     printf (" ");
     if (mnemon->to_introduce)
        printf ("%d to come. ", mnemon->to_introduce);