[Tux4kids-commits] r810 - in tuxmath/trunk: data/missions/lessons intl src

dbruce-guest at alioth.debian.org dbruce-guest at alioth.debian.org
Tue Dec 16 13:06:20 UTC 2008


Author: dbruce-guest
Date: 2008-12-16 13:06:20 +0000 (Tue, 16 Dec 2008)
New Revision: 810

Modified:
   tuxmath/trunk/data/missions/lessons/descr_lessons
   tuxmath/trunk/data/missions/lessons/lesson00
   tuxmath/trunk/data/missions/lessons/lesson01
   tuxmath/trunk/data/missions/lessons/lesson02
   tuxmath/trunk/data/missions/lessons/lesson03
   tuxmath/trunk/data/missions/lessons/lesson04
   tuxmath/trunk/data/missions/lessons/lesson05
   tuxmath/trunk/data/missions/lessons/lesson06
   tuxmath/trunk/data/missions/lessons/lesson07
   tuxmath/trunk/data/missions/lessons/lesson08
   tuxmath/trunk/data/missions/lessons/lesson08.1
   tuxmath/trunk/data/missions/lessons/lesson09
   tuxmath/trunk/data/missions/lessons/lesson10
   tuxmath/trunk/data/missions/lessons/lesson11
   tuxmath/trunk/data/missions/lessons/lesson12
   tuxmath/trunk/data/missions/lessons/lesson13
   tuxmath/trunk/data/missions/lessons/lesson14
   tuxmath/trunk/data/missions/lessons/lesson15
   tuxmath/trunk/data/missions/lessons/lesson16
   tuxmath/trunk/data/missions/lessons/lesson17
   tuxmath/trunk/data/missions/lessons/lesson18
   tuxmath/trunk/data/missions/lessons/lesson19
   tuxmath/trunk/data/missions/lessons/lesson20
   tuxmath/trunk/data/missions/lessons/lesson21
   tuxmath/trunk/data/missions/lessons/lesson22
   tuxmath/trunk/data/missions/lessons/lesson23
   tuxmath/trunk/data/missions/lessons/lesson28
   tuxmath/trunk/intl/plural.c
   tuxmath/trunk/src/game.c
   tuxmath/trunk/src/mathcards.c
Log:
lesson file tweaks



Modified: tuxmath/trunk/data/missions/lessons/descr_lessons
===================================================================
--- tuxmath/trunk/data/missions/lessons/descr_lessons	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/descr_lessons	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,17 +1,31 @@
 _("Number Typing")
+_("Number Typing")
 _("Addition: 1 to 3")
+_("Addition: 1 to 3")
 _("Addition: 0 to 5")
+_("Addition: 0 to 5")
 _("Addition: Sums to 10")
+_("Addition: Sums to 10")
 _("Addition: Sums to 15")
+_("Addition: Sums to 15")
 _("Addition: Sums to 20")
+_("Addition: Sums to 20")
 _("Addition: Two Digit Numbers")
+_("Addition: Two Digit Numbers")
 _("Addition: Missing Numbers")
+_("Addition: Missing Numbers")
 _("Subtraction: 0 to 10")
 _("Subtraction: 0 to 20")
+_("Subtraction: 0 to 20")
+_("Subtraction: 0 to 10")
 _("Subtraction: Two Digit Numbers")
+_("Subtraction: Two Digit Numbers")
 _("Addition and Subtraction Review")
+_("Addition and Subtraction Review")
 _("Multiplication: 0 to 3")
+_("Multiplication: 0 to 3")
 _("Multiples of 2")
+_("Multiples of 2")
 _("Multiples of 3")
 _("Multiples of 4")
 _("Multiples of 5")
@@ -28,7 +42,6 @@
 _("Multiples of 13, 14, and 15")
 _("Multiplication: 0 to 15")
 _("Multiplication: Missing Numbers")
-_("Multiplication: Missing Numbers")
 _("Division by 2")
 _("Division by 3")
 _("Division by 4")

Modified: tuxmath/trunk/data/missions/lessons/lesson00
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson00	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson00	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,52 +1,26 @@
 # Number Typing
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 1
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-allow_negatives = 0
-typing_practice_allowed = 1
-min_augend = 1
-max_augend = 3
-min_addend = 1
-max_addend = 3
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
 min_typing_num = 0
 max_typing_num = 10
+max_answer = 400;
 save_summary = 1
-question_copies = 2
 repeat_wrongs = 1
 copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 400
-max_questions = 5000
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 22
+vary_list_length = 0
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10

Modified: tuxmath/trunk/data/missions/lessons/lesson01
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson01	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson01	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: 1 to 3
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-allow_negatives = 0
-typing_practice_allowed = 0
 min_augend = 1
 max_augend = 3
 min_addend = 1
 max_addend = 3
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
 max_answer = 400
-max_questions = 5000
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 20
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson02
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson02	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson02	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: 0 to 5
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
-typing_practice_allowed = 0
 division_allowed = 0
-allow_negatives = 0
 min_augend = 0
 max_augend = 5
 min_addend = 0
 max_addend = 5
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 400
-max_questions = 5000
+max_answer = 400;
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 30
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson03
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson03	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson03	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: Sums to 10
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
+max_answer = 10;
 min_augend = 0
 max_augend = 10
 min_addend = 0
 max_addend = 10
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 10
-max_questions = 5000
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 30
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson04
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson04	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson04	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: Sums to 15
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
 min_augend = 0
 max_augend = 10
 min_addend = 0
 max_addend = 10
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
 max_answer = 15
-max_questions = 5000
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 30
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson05
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson05	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson05	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: Sums to 20
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
 min_augend = 0
 max_augend = 10
 min_addend = 0
 max_addend = 10
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
 max_answer = 20
-max_questions = 5000
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson06
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson06	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson06	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Addition: Two Digit Numbers
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
 min_augend = 10
 max_augend = 20
 min_addend = 10
 max_addend = 20
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson07
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson07	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson07	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,42 @@
 # Addition: Missing Numbers
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 0
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
 min_augend = 0
 max_augend = 10
 min_addend = 0
 max_addend = 10
-min_minuend = 0
-max_minuend = 10
-min_subtrahend = 0
-max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 0
+format_answer_first = 1
+format_answer_middle = 1
 format_add_answer_last = 0
 format_add_answer_first = 1
 format_add_answer_middle = 1
-format_sub_answer_last = 0
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400;
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson08
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson08	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson08	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Subtraction: 0 to 10
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 1
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
 min_minuend = 0
 max_minuend = 10
 min_subtrahend = 0
 max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 0
-format_add_answer_first = 0
-format_add_answer_middle = 0
+format_answer_last = 1
 format_sub_answer_last = 1
 format_sub_answer_first = 0
 format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+allow_negatives = 0
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson08.1
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson08.1	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson08.1	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,41 @@
 # Subtraction: 0 to 20
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 1
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
 min_minuend = 0
 max_minuend = 20
 min_subtrahend = 0
 max_subtrahend = 20
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 0
-format_add_answer_first = 0
-format_add_answer_middle = 0
+format_answer_last = 1
 format_sub_answer_last = 1
 format_sub_answer_first = 0
 format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+allow_negatives = 0
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson09
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson09	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson09	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,41 @@
 # Subtraction: Two Digit Numbers
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 1
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
 min_minuend = 20
 max_minuend = 30
 min_subtrahend = 10
 max_subtrahend = 20
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 0
-format_add_answer_first = 0
-format_add_answer_middle = 0
+format_answer_last = 1
 format_sub_answer_last = 1
 format_sub_answer_first = 0
 format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+allow_negatives = 0
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 30
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson10
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson10	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson10	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,13 +1,12 @@
 # Addition and Subtraction Review
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 1
 subtraction_allowed = 1
 multiplication_allowed = 0
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
 min_augend = 0
 max_augend = 10
 min_addend = 0
@@ -16,44 +15,34 @@
 max_minuend = 20
 min_subtrahend = 0
 max_subtrahend = 10
-min_multiplier = 0
-max_multiplier = 10
-min_multiplicand = 0
-max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
+format_answer_last = 1
 format_add_answer_last = 1
 format_add_answer_first = 0
 format_add_answer_middle = 0
 format_sub_answer_last = 1
 format_sub_answer_first = 0
 format_sub_answer_middle = 0
-format_mult_answer_last = 0
-format_mult_answer_first = 0
-format_mult_answer_middle = 0
-format_div_answer_last = 0
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+allow_negatives = 0
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
 city_explode_handicap = 0.00
-

Modified: tuxmath/trunk/data/missions/lessons/lesson11
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson11	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson11	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiplication: 0 to 3
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 0
 max_multiplier = 3
 min_multiplicand = 0
 max_multiplicand = 3
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 40
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson12
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson12	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson12	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 2
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 2
 max_multiplier = 2
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson13
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson13	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson13	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 3
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 3
 max_multiplier = 3
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
 city_explode_handicap = 0.00
-

Modified: tuxmath/trunk/data/missions/lessons/lesson14
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson14	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson14	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 4
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 4
 max_multiplier = 4
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
 city_explode_handicap = 0.00
-

Modified: tuxmath/trunk/data/missions/lessons/lesson15
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson15	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson15	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 5
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 5
 max_multiplier = 5
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson16
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson16	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson16	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiplication: 0 to 5
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 0
 max_multiplier = 5
 min_multiplicand = 0
 max_multiplicand = 5
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 108
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson17
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson17	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson17	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 6
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 6
 max_multiplier = 6
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson18
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson18	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson18	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 7
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 7
 max_multiplier = 7
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson19
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson19	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson19	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiplication: 0 to 7
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 0
 max_multiplier = 7
 min_multiplicand = 0
 max_multiplicand = 7
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 64
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson20
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson20	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson20	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 8
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 8
 max_multiplier = 8
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson21
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson21	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson21	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 9
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 9
 max_multiplier = 9
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson22
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson22	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson22	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiples of 10
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 10
 max_multiplier = 10
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 2
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 44
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson23
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson23	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson23	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,59 +1,40 @@
 # Multiplication: 0 to 10
+
+# Math options
 play_through_list = 1
-allow_speedup = 1
-use_feedback = 1
+typing_practice_allowed = 0
 addition_allowed = 0
 subtraction_allowed = 0
 multiplication_allowed = 1
 division_allowed = 0
-typing_practice_allowed = 0
-allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 0
 max_multiplier = 10
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
-save_summary = 1
-question_copies = 1
-repeat_wrongs = 1
-copies_repeated_wrongs = 2
-format_add_answer_last = 1
-format_add_answer_first = 0
-format_add_answer_middle = 0
-format_sub_answer_last = 1
-format_sub_answer_first = 0
-format_sub_answer_middle = 0
+format_answer_last = 1
 format_mult_answer_last = 1
 format_mult_answer_first = 0
 format_mult_answer_middle = 0
-format_div_answer_last = 1
-format_div_answer_first = 0
-format_div_answer_middle = 0
-max_answer = 999
-max_questions = 5000
+max_answer = 400
+save_summary = 1
+repeat_wrongs = 1
+copies_repeated_wrongs = 2
 randomize = 1
 comprehensive = 1
-avg_list_length = 42
+min_formula_nums = 2
+max_formula_nums = 2
+avg_list_length = 121
+vary_list_length = 0
+
+# General game options
+allow_speedup = 1
+use_feedback = 1
 starting_comets = 2
 extra_comets_per_wave = 2
 max_comets = 10
 speed = 1.00
-max_speed = 10.00
+max_speed = 20.00
 danger_level = 0.35
 danger_level_speedup = 1
 danger_level_max = 0.90
-city_explode_handicap = 0.00
-
+city_explode_handicap = 0.00
\ No newline at end of file

Modified: tuxmath/trunk/data/missions/lessons/lesson28
===================================================================
--- tuxmath/trunk/data/missions/lessons/lesson28	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/data/missions/lessons/lesson28	2008-12-16 13:06:20 UTC (rev 810)
@@ -8,24 +8,10 @@
 division_allowed = 0
 typing_practice_allowed = 0
 allow_negatives = 0
-min_augend = 0
-max_augend = 10
-min_addend = 0
-max_addend = 10
-min_minuend = 0
-max_minuend = 20
-min_subtrahend = 0
-max_subtrahend = 10
 min_multiplier = 0
 max_multiplier = 10
 min_multiplicand = 0
 max_multiplicand = 10
-min_divisor = 0
-max_divisor = 10
-min_quotient = 0
-max_quotient = 10
-min_typing_num = 0
-max_typing_num = 10
 save_summary = 1
 question_copies = 1
 repeat_wrongs = 1

Modified: tuxmath/trunk/intl/plural.c
===================================================================
--- tuxmath/trunk/intl/plural.c	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/intl/plural.c	2008-12-16 13:06:20 UTC (rev 810)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 2.3a.  */
 
 /* Skeleton implementation for Bison's Yacc-like parsers in C
 
@@ -47,7 +47,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.3a"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -68,31 +68,9 @@
 #define yynerrs __gettextnerrs
 
 
-/* Tokens.  */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     EQUOP2 = 258,
-     CMPOP2 = 259,
-     ADDOP2 = 260,
-     MULOP2 = 261,
-     NUMBER = 262
-   };
-#endif
-/* Tokens.  */
-#define EQUOP2 258
-#define CMPOP2 259
-#define ADDOP2 260
-#define MULOP2 261
-#define NUMBER 262
-
-
-
-
 /* Copy the first part of user declarations.  */
-#line 1 "../../trunk/intl/plural.y"
+/* Line 164 of yacc.c.  */
+#line 1 "plural.y"
 
 /* Expression parsing for plural form selection.
    Copyright (C) 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc.
@@ -159,26 +137,53 @@
 # define YYTOKEN_TABLE 0
 #endif
 
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     EQUOP2 = 258,
+     CMPOP2 = 259,
+     ADDOP2 = 260,
+     MULOP2 = 261,
+     NUMBER = 262
+   };
+#endif
+/* Tokens.  */
+#define EQUOP2 258
+#define CMPOP2 259
+#define ADDOP2 260
+#define MULOP2 261
+#define NUMBER 262
+
+
+
+
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 51 "../../trunk/intl/plural.y"
-{
+{/* Line 191 of yacc.c.  */
+#line 51 "plural.y"
+
   unsigned long int num;
   enum expression_operator op;
   struct expression *exp;
 }
-/* Line 187 of yacc.c.  */
-#line 172 "../../trunk/intl/plural.c"
+/* Line 191 of yacc.c.  */
+#line 175 "plural.c"
 	YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
 
+
 /* Copy the second part of user declarations.  */
-#line 57 "../../trunk/intl/plural.y"
+/* Line 221 of yacc.c.  */
+#line 57 "plural.y"
 
 /* Prototypes for local functions.  */
 static int yylex (YYSTYPE *lval, const char **pexp);
@@ -255,10 +260,9 @@
 }
 
 
+/* Line 221 of yacc.c.  */
+#line 265 "plural.c"
 
-/* Line 216 of yacc.c.  */
-#line 261 "../../trunk/intl/plural.c"
-
 #ifdef short
 # undef short
 #endif
@@ -332,14 +336,14 @@
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static int
-YYID (int i)
+YYID (int yyi)
 #else
 static int
-YYID (i)
-    int i;
+YYID (yyi)
+    int yyi;
 #endif
 {
-  return i;
+  return yyi;
 }
 #endif
 
@@ -832,17 +836,20 @@
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
 #else
 static void
-yy_stack_print (bottom, top)
-    yytype_int16 *bottom;
-    yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+    yytype_int16 *yybottom;
+    yytype_int16 *yytop;
 #endif
 {
   YYFPRINTF (stderr, "Stack now");
-  for (; bottom <= top; ++bottom)
-    YYFPRINTF (stderr, " %d", *bottom);
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
   YYFPRINTF (stderr, "\n");
 }
 
@@ -1209,10 +1216,10 @@
 #endif
 #endif
 {
-  /* The look-ahead symbol.  */
+  /* The lookahead symbol.  */
 int yychar;
 
-/* The semantic value of the look-ahead symbol.  */
+/* The semantic value of the lookahead symbol.  */
 YYSTYPE yylval;
 
 /* Number of syntax errors so far.  */
@@ -1223,7 +1230,7 @@
   int yyresult;
   /* Number of tokens to shift before error messages enabled.  */
   int yyerrstatus;
-  /* Look-ahead token as an internal (translated) token number.  */
+  /* Lookahead token as an internal (translated) token number.  */
   int yytoken = 0;
 #if YYERROR_VERBOSE
   /* Buffer for error messages, and its allocated size.  */
@@ -1360,6 +1367,9 @@
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
   goto yybackup;
 
 /*-----------.
@@ -1368,16 +1378,16 @@
 yybackup:
 
   /* Do appropriate processing given the current state.  Read a
-     look-ahead token if we need one and don't already have one.  */
+     lookahead token if we need one and don't already have one.  */
 
-  /* First try to decide what to do without reference to look-ahead token.  */
+  /* First try to decide what to do without reference to lookahead token.  */
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a look-ahead token if don't already have one.  */
+  /* Not known => get a lookahead token if don't already have one.  */
 
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
@@ -1409,20 +1419,16 @@
       goto yyreduce;
     }
 
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
   /* Count tokens shifted since error; after three, turn off error
      status.  */
   if (yyerrstatus)
     yyerrstatus--;
 
-  /* Shift the look-ahead token.  */
+  /* Shift the lookahead token.  */
   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
-  /* Discard the shifted token unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
 
   yystate = yyn;
   *++yyvsp = yylval;
@@ -1462,7 +1468,8 @@
   switch (yyn)
     {
         case 2:
-#line 155 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 155 "plural.y"
     {
 	    if ((yyvsp[(1) - (1)].exp) == NULL)
 	      YYABORT;
@@ -1471,70 +1478,80 @@
     break;
 
   case 3:
-#line 163 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 163 "plural.y"
     {
 	    (yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp));
 	  }
     break;
 
   case 4:
-#line 167 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 167 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 5:
-#line 171 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 171 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 6:
-#line 175 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 175 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 7:
-#line 179 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 179 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 8:
-#line 183 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 183 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 9:
-#line 187 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 187 "plural.y"
     {
 	    (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
 	  }
     break;
 
   case 10:
-#line 191 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 191 "plural.y"
     {
 	    (yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp));
 	  }
     break;
 
   case 11:
-#line 195 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 195 "plural.y"
     {
 	    (yyval.exp) = new_exp_0 (var);
 	  }
     break;
 
   case 12:
-#line 199 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 199 "plural.y"
     {
 	    if (((yyval.exp) = new_exp_0 (num)) != NULL)
 	      (yyval.exp)->val.num = (yyvsp[(1) - (1)].num);
@@ -1542,15 +1559,16 @@
     break;
 
   case 13:
-#line 204 "../../trunk/intl/plural.y"
+/* Line 1269 of yacc.c.  */
+#line 204 "plural.y"
     {
 	    (yyval.exp) = (yyvsp[(2) - (3)].exp);
 	  }
     break;
 
 
-/* Line 1267 of yacc.c.  */
-#line 1554 "../../trunk/intl/plural.c"
+/* Line 1269 of yacc.c.  */
+#line 1572 "plural.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -1626,7 +1644,7 @@
 
   if (yyerrstatus == 3)
     {
-      /* If just tried and failed to reuse look-ahead token after an
+      /* If just tried and failed to reuse lookahead token after an
 	 error, discard it.  */
 
       if (yychar <= YYEOF)
@@ -1643,7 +1661,7 @@
 	}
     }
 
-  /* Else will try to reuse look-ahead token after shifting the error
+  /* Else will try to reuse lookahead token after shifting the error
      token.  */
   goto yyerrlab1;
 
@@ -1700,9 +1718,6 @@
       YY_STACK_PRINT (yyss, yyssp);
     }
 
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
   *++yyvsp = yylval;
 
 
@@ -1738,7 +1753,7 @@
 #endif
 
 yyreturn:
-  if (yychar != YYEOF && yychar != YYEMPTY)
+  if (yychar != YYEMPTY)
      yydestruct ("Cleanup: discarding lookahead",
 		 yytoken, &yylval);
   /* Do not reclaim the symbols of the rule which action triggered
@@ -1764,7 +1779,8 @@
 }
 
 
-#line 209 "../../trunk/intl/plural.y"
+/* Line 1486 of yacc.c.  */
+#line 209 "plural.y"
 
 
 void

Modified: tuxmath/trunk/src/game.c
===================================================================
--- tuxmath/trunk/src/game.c	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/src/game.c	2008-12-16 13:06:20 UTC (rev 810)
@@ -213,7 +213,7 @@
     fprintf(stderr, "\ngame_initialize() failed!");
     /* return 0 so we go back to Options screen - maybe */
     /* player simply has all operations deselected */
-    free_on_exit();
+//    free_on_exit();
     return 0;
   }
 

Modified: tuxmath/trunk/src/mathcards.c
===================================================================
--- tuxmath/trunk/src/mathcards.c	2008-12-15 16:44:58 UTC (rev 809)
+++ tuxmath/trunk/src/mathcards.c	2008-12-16 13:06:20 UTC (rev 810)
@@ -243,7 +243,8 @@
 static MC_MathQuestion* allocate_node(void); //allocate space for a node
 static int compare_card(const MC_FlashCard* a, const MC_FlashCard* b); //test for identical cards
 static int find_divisor(int a); //return a random positive divisor of a
-static MC_MathQuestion* add_all_valid(MC_ProblemType pt, MC_MathQuestion* list, MC_MathQuestion* end_of_list);
+static int calc_num_valid_questions(void);
+static MC_MathQuestion* add_all_valid(MC_ProblemType pt, MC_MathQuestion* list, MC_MathQuestion** end_of_list);
 static MC_MathQuestion* find_node(MC_MathQuestion* list, int num);
 
 /*  MC_Initialize() sets up the struct containing all of  */
@@ -1705,7 +1706,7 @@
 
 MC_MathQuestion* generate_list(void)
 {
-  int i;
+  int i, j;
   int length = MC_GetOpt(AVG_LIST_LENGTH);
   int cl; //raw length
   double r1, r2, delta, var; //randomizers for list length
@@ -1734,28 +1735,47 @@
       length = 1; //just in case...
   }
 
-  if (MC_GetOpt(COMPREHENSIVE) ) //generate all
+  if (MC_GetOpt(COMPREHENSIVE)) //generate all
   {
+    int num_valid_questions; //How many questions the COMPREHENSIVE list specifies
+    int cycles_needed;       //How many times we need to generate it to get enough
+
+    num_valid_questions = calc_num_valid_questions();
+    if(num_valid_questions == 0)
+    {
+      fprintf(stderr, "generate_list() - no valid questions\n");
+      return NULL;
+    }
+
+    cycles_needed = length/num_valid_questions;
+
+    if((cycles_needed * num_valid_questions) < length)
+      cycles_needed++;
+
     mcdprintf("In generate_list() - COMPREHENSIVE method requested\n");
+    mcdprintf("num_valid_questions = %d\t cycles_needed = %d\n",
+              num_valid_questions, cycles_needed);
 
     for (i = MC_PT_TYPING; i < MC_NUM_PTYPES; ++i)
     {
       if (!MC_GetOpt(i + TYPING_PRACTICE_ALLOWED))
-        continue;
+          continue;
+      for (j = 0; j < cycles_needed; j++)
+        list = add_all_valid(i, list, &end_of_list);
+    }
 
-      list = add_all_valid(i, list, end_of_list);
 
+    if (MC_GetOpt(RANDOMIZE) )
+    {
+      mcdprintf("Randomizing list\n");
+      randomize_list(&list);
     }
 
-    if (MC_GetOpt(RANDOMIZE) )
-      {
-        mcdprintf("Randomizing list\n");
-        randomize_list(&list);
-      }
-
     if (length)
     {
       cl = list_length(list);
+      // NOTE this should no longer happen - we run the COMPREHENSIVE
+      // generation until we have enough questions.
       if (length > cl) //if not enough questions, pad out with randoms
       {
         mcdprintf("Padding out list from %d to %d questions\n", cl, length);
@@ -2072,14 +2092,67 @@
   return div;
 }
 
-MC_MathQuestion* add_all_valid(MC_ProblemType pt, MC_MathQuestion* list, MC_MathQuestion* end_of_list)
+
+//Computes (approximately) the number of questions that will be returned
+//by add_all_valid() as specified by the current options. This does not 
+//take into account screening out of invalid questions, such
+//as divide-by-zero and questions like "0 x ? = 0".
+static int calc_num_valid_questions(void)
 {
+  int total_questions = 0;
+  int k = 0;
+  //First add the number of typing questions
+  if (MC_GetOpt(TYPING_PRACTICE_ALLOWED))
+    total_questions += (MC_GetOpt(MAX_TYPING_NUM) - MC_GetOpt(MIN_TYPING_NUM));
+
+  //Now add how many questions we will have for each operation:
+  for (k = MC_OPER_ADD; k < MC_NUM_OPERS; ++k)
+  {
+    int num_this_oper = 0;
+    int formats_this_oper = 0;
+
+    if (!MC_GetOpt(k + ADDITION_ALLOWED) )
+      continue;
+
+    //calculate number of ordered pairs of first and second operands:
+    //note the "+ 1" is due to the ranges being inclusive
+    num_this_oper = (MC_GetOpt(MAX_AUGEND + 4 * k) - MC_GetOpt(MIN_AUGEND + 4 * k) + 1)
+                    *
+                    (MC_GetOpt(MAX_ADDEND + 4 * k) - MC_GetOpt(MIN_ADDEND + 4 * k) + 1);
+    //check what formats are allowed
+    if (MC_GetOpt(FORMAT_ANSWER_LAST) && MC_GetOpt(FORMAT_ADD_ANSWER_LAST + k * 3))
+      formats_this_oper++;
+    if (MC_GetOpt(FORMAT_ANSWER_FIRST) && MC_GetOpt(FORMAT_ADD_ANSWER_FIRST + k * 3))
+      formats_this_oper++;
+    if (MC_GetOpt(FORMAT_ANSWER_MIDDLE) && MC_GetOpt(FORMAT_ADD_ANSWER_MIDDLE + k * 3))
+      formats_this_oper++;
+    //Get total of e.g. addition questions:
+    num_this_oper *= formats_this_oper;
+    //add to overall total:
+    total_questions += num_this_oper;
+  }
+
+  //TODO will also need to count up the COMPARISON questions once
+  //they are implemented
+  {
+  }
+
+  mcdprintf("calc_num_valid_questions():\t%d\n", total_questions);
+  return total_questions;
+}
+
+
+//NOTE end_of_list** needs to be doubly indirect because otherwise the end does not
+//get updated in the calling code
+MC_MathQuestion* add_all_valid(MC_ProblemType pt, MC_MathQuestion* list, MC_MathQuestion** end_of_list)
+{
   int i, j;
   int ans = 0, tmp;
   MC_Operation k;
   MC_MathQuestion* tnode;
 
   mcdprintf("Entering add_all_valid(%d)\n", pt);
+  mcdprintf("List already has %d questions\n", list_length(list));
 
   //make sure this problem type is actually allowed
   if (!MC_GetOpt(pt + TYPING_PRACTICE_ALLOWED) )
@@ -2089,7 +2162,7 @@
   if (pt == MC_PT_TYPING)
   {
     mcdprintf("Adding typing...\n");
-    for (i = MC_GetOpt(MIN_TYPING_NUM); i < MC_GetOpt(MAX_TYPING_NUM); ++i)
+    for (i = MC_GetOpt(MIN_TYPING_NUM); i <= MC_GetOpt(MAX_TYPING_NUM); ++i)
     {
       mcdprintf("(%d)\n", i);
       tnode = allocate_node();
@@ -2102,10 +2175,11 @@
 
       snprintf(tnode->card.formula_string, max_formula_size, "%d", i);
       snprintf(tnode->card.answer_string, max_formula_size, "%d", i);
-      list = insert_node(list, end_of_list, tnode);
-      end_of_list = tnode;
+      list = insert_node(list, *end_of_list, tnode);
+      *end_of_list = tnode;
     }
   }
+
   //add all allowed arithmetic questions
   else if (MC_PT_ARITHMETIC)
   {
@@ -2123,12 +2197,12 @@
       mcdprintf("\n*%d*\n", k);
 
       // The i loop iterates through the first value in the question:
-      for (i = MC_GetOpt(MIN_AUGEND + 4 * k); i < MC_GetOpt(MAX_AUGEND + 4 * k); ++i)
+      for (i = MC_GetOpt(MIN_AUGEND + 4 * k); i <= MC_GetOpt(MAX_AUGEND + 4 * k); ++i)
       {
         mcdprintf("\n%d:\n", i);
 
         // The j loop iterates through the second value in the question:
-        for (j = MC_GetOpt(MIN_ADDEND + 4 * k); j < MC_GetOpt(MAX_ADDEND + 4 * k); ++j)
+        for (j = MC_GetOpt(MIN_ADDEND + 4 * k); j <= MC_GetOpt(MAX_ADDEND + 4 * k); ++j)
         {
           // Generate the third number according to the operation.
           // Although it is called "ans", it will not be the actual
@@ -2140,24 +2214,36 @@
             case MC_OPER_ADD:
             {
               ans = i + j;
+              // throw anything over MAX_ANSWER
+              if (ans > MC_GetOpt(MAX_ANSWER))
+                continue;
               break;
             }
             case MC_OPER_SUB:
             {
               ans = i - j;
               // throw out negatives if they aren't allowed:
-              if (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES) )
+              if (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES))
                 continue;
+              // throw anything over MAX_ANSWER
+              if (ans > MC_GetOpt(MAX_ANSWER))
+                continue;
               break;
             }
             case MC_OPER_MULT:
             {
-              mcdprintf("MC_OPER_MULT\n");
               ans = i * j;
+              // throw anything over MAX_ANSWER
+              if (ans > MC_GetOpt(MAX_ANSWER))
+                continue;
               break;
             }
             case MC_OPER_DIV:
             {
+               // throw anything over MAX_ANSWER
+              if (i * j > MC_GetOpt(MAX_ANSWER))
+                continue;
+
               tmp = i;
               i *= j;
               ans = j;
@@ -2171,7 +2257,6 @@
 
           mcdprintf("Generating: %d %c %d = %d\n", i, operchars[k], j, ans);
 
-
           //add each format, provided it's allowed in general and for this op
 
           // Questions like "a + b = ?"
@@ -2197,8 +2282,8 @@
             snprintf(tnode->card.answer_string, max_formula_size, "%d", ans);
             snprintf(tnode->card.formula_string, max_formula_size,
                      "%d %c %d = ?", i, operchars[k], j);
-            list = insert_node(list, end_of_list, tnode);
-            end_of_list = tnode;
+            list = insert_node(list, *end_of_list, tnode);
+            *end_of_list = tnode;
           }
 
 
@@ -2231,8 +2316,8 @@
             snprintf(tnode->card.answer_string, max_formula_size, "%d", i);
             snprintf(tnode->card.formula_string, max_formula_size,
                      "? %c %d = %d", operchars[k], j, ans);
-            list = insert_node(list, end_of_list, tnode);
-            end_of_list = tnode;
+            list = insert_node(list, *end_of_list, tnode);
+            *end_of_list = tnode;
           }
 
 
@@ -2264,8 +2349,8 @@
             snprintf(tnode->card.answer_string, max_formula_size, "%d", j);
             snprintf(tnode->card.formula_string, max_formula_size,
                      "%d %c ? = %d", i, operchars[k], ans);
-            list = insert_node(list, end_of_list, tnode);
-            end_of_list = tnode;
+            list = insert_node(list, *end_of_list, tnode);
+            *end_of_list = tnode;
           }
           //If we divided, reset i and j so loop works correctly
           if (k == MC_OPER_DIV)
@@ -2298,12 +2383,14 @@
                  i < j ? "<" : 
                  i > j ? ">" : 
                          "=");
-        list = insert_node(list, end_of_list, tnode);
-        end_of_list = tnode;
+        list = insert_node(list, *end_of_list, tnode);
+        *end_of_list = tnode;
       }
     }
   }
-  mcdprintf("Exiting add_all_valid()\n");
+  mcdprintf("Exiting add_all_valid()\n");  
+  mcdprintf("List now has %d questions\n\n", list_length(list));
+
   return list;
 }
 




More information about the Tux4kids-commits mailing list