From 6aebbea659aa5e537d79796553f4fd4150d6384f Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Sat, 4 Apr 2009 08:14:59 -0700 Subject: [PATCH] Add a new repeat option This is instead of unconditionally repeating audo and midi challenges. --- mnemon.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mnemon.c b/mnemon.c index 3523ef8..c334f22 100644 --- a/mnemon.c +++ b/mnemon.c @@ -81,6 +81,8 @@ typedef struct _category { int bin_zero_head; /* Support challenges of non-text types (image, audio, etc.) */ challenge_type_t challenge_type; + /* Whether to repeat afterwards (for a little extra reinforcement) */ + bool_t repeat; } category_t; typedef struct _mnemon { @@ -209,6 +211,7 @@ category_init (category_t *category, category->time_limit = 0.0; category->bin_zero_head = 0; category->challenge_type = CHALLENGE_TYPE_TEXT; + category->repeat = 0; } static void @@ -295,6 +298,8 @@ category_print (category_t *category, } fprintf (file, "\n\n"); + fprintf (file, "repeat = %d\n\n", category->repeat); + for (i = 0; i < category->num_items; i++) { item = &category->items[i]; if (i != 0) @@ -665,6 +670,11 @@ mnemon_load_category (mnemon_t *mnemon, value, path, line_count); exit (1); } + } else if (strcmp (name, "repeat") == 0) { + if (strcmp (value, "0") == 0) + category->repeat = 0; + else + category->repeat = 1; } else { fprintf (stderr, "Unknown option %s at %s:%d\n", name, path, line_count); @@ -1307,8 +1317,7 @@ mnemon_do_challenges (mnemon_t *mnemon) free (response); /* Replay audio challenges for reinforcement. */ - if (category->challenge_type == CHALLENGE_TYPE_AUDIO || - category->challenge_type == CHALLENGE_TYPE_MIDI) + if (category->repeat) { mnemon_show_challenge (mnemon, category->challenge_type, item->challenge); -- 2.43.0