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.)
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);
}
}
+ 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);