[Tux4kids-commits] r800 - in tuxmath/trunk: data/images/factoroids data/images/sprites po src

dbruce-guest at alioth.debian.org dbruce-guest at alioth.debian.org
Fri Dec 12 01:15:05 UTC 2008


Author: dbruce-guest
Date: 2008-12-12 01:15:05 +0000 (Fri, 12 Dec 2008)
New Revision: 800

Modified:
   tuxmath/trunk/data/images/factoroids/Makefile.in
   tuxmath/trunk/data/images/sprites/Makefile.in
   tuxmath/trunk/po/de.po
   tuxmath/trunk/src/mathcards.c
Log:
mathcards question-generation tweaks



Modified: tuxmath/trunk/data/images/factoroids/Makefile.in
===================================================================
--- tuxmath/trunk/data/images/factoroids/Makefile.in	2008-12-11 13:05:57 UTC (rev 799)
+++ tuxmath/trunk/data/images/factoroids/Makefile.in	2008-12-12 01:15:05 UTC (rev 800)
@@ -41,8 +41,8 @@
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \
-	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intlmacosx.m4 \
-	$(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
+	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intmax.m4 \
+	$(top_srcdir)/m4/inttypes-pri.m4 \
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \

Modified: tuxmath/trunk/data/images/sprites/Makefile.in
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile.in	2008-12-11 13:05:57 UTC (rev 799)
+++ tuxmath/trunk/data/images/sprites/Makefile.in	2008-12-12 01:15:05 UTC (rev 800)
@@ -41,8 +41,8 @@
 	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \
 	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
 	$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \
-	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intlmacosx.m4 \
-	$(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
+	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intmax.m4 \
+	$(top_srcdir)/m4/inttypes-pri.m4 \
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
 	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
 	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \

Modified: tuxmath/trunk/po/de.po
===================================================================
--- tuxmath/trunk/po/de.po	2008-12-11 13:05:57 UTC (rev 799)
+++ tuxmath/trunk/po/de.po	2008-12-12 01:15:05 UTC (rev 800)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: de\n"
 "Report-Msgid-Bugs-To: tuxmath-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2008-02-05 05:53-0500\n"
+"POT-Creation-Date: 2008-12-08 19:43-0600\n"
 "PO-Revision-Date: 2008-05-02 16:08+0200\n"
 "Last-Translator: Lars Vogdt <lars at linux-schulserver.de>\n"
 "MIME-Version: 1.0\n"
@@ -14,221 +14,500 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: src/game.c:663
+#: src/campaign.h:23
+msgid "-[Esc] to skip"
+msgstr ""
+
+#: src/campaign.h:24
+msgid "Mission One: Careful Cadet"
+msgstr ""
+
+#: src/campaign.h:26
+msgid "I'm so glad you've come!"
+msgstr ""
+
+#: src/campaign.h:28
+msgid "The penguins need your help! Comets"
+msgstr ""
+
+#: src/campaign.h:29
+msgid "are falling from the sky, and are melting"
+msgstr ""
+
+#: src/campaign.h:30
+#, fuzzy
+msgid "the penguins' igloos. To save their homes,"
+msgstr "die Iglus der Pinguine vor den "
+
+#: src/campaign.h:31
+msgid "we need you to find the secret code that"
+msgstr ""
+
+#: src/campaign.h:32
+msgid " will zap each comet."
+msgstr ""
+
+#: src/campaign.h:34
+msgid "Do your best!"
+msgstr ""
+
+#: src/campaign.h:40
+msgid "Mission Two: Smart Scout"
+msgstr ""
+
+#: src/campaign.h:42
+msgid "Great job! Since you saved the penguins' homes,"
+msgstr ""
+
+#: src/campaign.h:43
+msgid "we are promoting you to Scout. Scouts are good"
+msgstr ""
+
+#: src/campaign.h:44
+msgid "for keeping an eye out for trouble..."
+msgstr ""
+
+#: src/campaign.h:46
+msgid "...like what's happening right now!"
+msgstr ""
+
+#: src/campaign.h:47
+msgid "The TakeAways have come, and they're sending"
+msgstr ""
+
+#: src/campaign.h:48
+msgid "new, trickier comets against the penguins!"
+msgstr ""
+
+#: src/campaign.h:49
+msgid "But you can save them!"
+msgstr ""
+
+#: src/campaign.h:55
+msgid "Mission Three: Royal Ranger"
+msgstr ""
+
+#: src/campaign.h:57
+msgid "You've done it again! The Penguin Emperor has"
+msgstr ""
+
+#: src/campaign.h:58
+msgid "chosen you to join his team of Rangers that"
+msgstr ""
+
+#: src/campaign.h:59
+msgid "help protect the city.  We're sending you"
+msgstr ""
+
+#: src/campaign.h:60
+msgid "there now..."
+msgstr ""
+
+#: src/campaign.h:62
+msgid "...oh no! Now the Emperor himself is under attack,"
+msgstr ""
+
+#: src/campaign.h:63
+msgid "from new types of comets: these problems are"
+msgstr ""
+
+#: src/campaign.h:64
+msgid "multiplying! To fight these, you need great"
+msgstr ""
+
+#: src/campaign.h:65
+msgid "skill. We think you can do it. Join the"
+msgstr ""
+
+#: src/campaign.h:66
+msgid "Rangers and help save the city!"
+msgstr ""
+
+#: src/campaign.h:72
+msgid "Mission Four: Imperial Ace"
+msgstr ""
+
+#: src/campaign.h:74
+msgid "You did it! The Emperor wants to thank you"
+msgstr ""
+
+#: src/campaign.h:75
+msgid "in person. We are taking you to his ice palace"
+msgstr ""
+
+#: src/campaign.h:76
+msgid "for a great honor: you will become"
+msgstr ""
+
+#: src/campaign.h:77
+msgid "the Imperial Ace!"
+msgstr ""
+
+#: src/campaign.h:79
+msgid "But right in the middle of the ceremony,"
+msgstr ""
+
+#: src/campaign.h:80
+msgid "a new attack from the land of Division starts!"
+msgstr ""
+
+#: src/campaign.h:81
+msgid "Now is no time for resting; the city"
+msgstr ""
+
+#: src/campaign.h:82
+msgid "needs your help!"
+msgstr ""
+
+#: src/campaign.h:88
+msgid "Final Mission: Computing Commando"
+msgstr ""
+
+#: src/campaign.h:90
+msgid "Penguin scientists have learned that all"
+msgstr ""
+
+#: src/campaign.h:91
+msgid "these attacks are coming from a secret"
+msgstr ""
+
+#: src/campaign.h:92
+msgid "base, and they need you to go fight"
+msgstr ""
+
+#: src/campaign.h:93
+msgid "the final battle. They also give you"
+msgstr ""
+
+#: src/campaign.h:94
+msgid "this clue: first do multiplication and"
+msgstr ""
+
+#: src/campaign.h:95
+msgid "division, and then do addition and subtraction."
+msgstr ""
+
+#: src/campaign.h:96
+msgid "I hope that hint helps!"
+msgstr ""
+
+#: src/campaign.h:98
+msgid "This is it! You can stop these attacks"
+msgstr ""
+
+#: src/campaign.h:99
+msgid "forever, Commando!"
+msgstr ""
+
+#: src/campaign.c:29
+msgid "Congratulations! You win!"
+msgstr ""
+
+#: src/campaign.c:47
+msgid "Round"
+msgstr ""
+
+#: src/campaign.c:156
+msgid "Sorry, try again!"
+msgstr ""
+
+#: src/campaign.c:162
+msgid "Mission accomplished. The galaxy is safe!"
+msgstr ""
+
+#: src/factoroids.c:527
+msgid "FACTOROIDS: to win, you need destroy all the asteroids."
+msgstr ""
+
+#: src/factoroids.c:528 src/factoroids.c:539
+msgid "Use the arrow keys to turn or go forward.  Aim at an asteroid,"
+msgstr ""
+
+#: src/factoroids.c:529
+msgid "type one of its factors, and press space or return"
+msgstr ""
+
+#: src/factoroids.c:530
+msgid "to split it into its factors.  Rocks with prime numbers are destroyed!"
+msgstr ""
+
+#: src/factoroids.c:538
+msgid "FRACTIONS: to win, you need destroy all the asteroids"
+msgstr ""
+
+#: src/factoroids.c:540
+msgid "type a number that can simplify the fraction, and press space or return"
+msgstr ""
+
+#: src/factoroids.c:541
+msgid ""
+"to split it.  Destroy fractions that can not be further simplified in a "
+"single shot!"
+msgstr ""
+
+#: src/game.c:714
 msgid "Welcome to TuxMath!"
 msgstr "Willkommen bei TuxMath!"
 
-#: src/game.c:680
+#: src/game.c:731
 msgid "Your mission is to save your"
 msgstr "Deine Mission besteht darin, "
 
-#: src/game.c:681
+#: src/game.c:732
 msgid "penguins' igloos from the"
 msgstr "die Iglus der Pinguine vor den "
 
-#: src/game.c:682
+#: src/game.c:733
 msgid "falling comets."
 msgstr "herabfallenden Kometen zu schützen."
 
-#: src/game.c:701
+#: src/game.c:752
 msgid "Stop a comet by typing"
 msgstr "Stoppe einen Kometen, indem du "
 
-#: src/game.c:702
+#: src/game.c:753
 msgid "the answer to the math problem"
 msgstr "die Antwort auf das mathematische Problem"
 
-#: src/game.c:703
+#: src/game.c:754
 msgid "and hitting 'space' or 'enter'."
 msgstr "eingibst und die \"Leertaste\" oder \"Enter\" drückst. "
 
-#: src/game.c:704
+#: src/game.c:755
 msgid "Try it now!"
 msgstr "Versuch es jetzt!"
 
-#: src/game.c:712
+#: src/game.c:763
 msgid "Good shot!"
 msgstr "Guter Schuß!"
 
-#: src/game.c:722
+#: src/game.c:773
 msgid "If an igloo gets hit by a comet,"
 msgstr "Wenn ein Iglu von einem Kometen getroffen wird, "
 
-#: src/game.c:723
-msgid "it melts. But don't worry, the"
+#: src/game.c:774
+#, fuzzy
+msgid "it melts. But don't worry: the"
 msgstr "schmilzt es. Aber keine Angst, dem "
 
-#: src/game.c:724
+#: src/game.c:775
 msgid "penguin is OK!"
 msgstr "Pingiun geht es gut!"
 
-#: src/game.c:725
+#: src/game.c:776
 msgid "Just watch what happens:"
 msgstr "Sie einfach zu was passiert "
 
-#: src/game.c:726
+#: src/game.c:777
 msgid "(Press a key to start)"
 msgstr "(Eine Taste zum starten drücken)"
 
-#: src/game.c:739
+#: src/game.c:790
 msgid "Notice the answer"
 msgstr "Beachte die Antwort"
 
-#: src/game.c:749
+#: src/game.c:800
 msgid "If it gets hit again, the"
 msgstr "wenn es noch einmal getroffen wird, "
 
-#: src/game.c:750
+#: src/game.c:801
 msgid "penguin leaves."
 msgstr "wird der Pinguin verschwinden."
 
-#: src/game.c:751
+#: src/game.c:802
 msgid "(Press a key when ready)"
 msgstr "(Wenn fertig, bitte Taste drücken)"
 
-#: src/game.c:770
+#: src/game.c:821
 msgid "You can fix the igloos"
 msgstr "Du kannst die kaputten Iglus reparieren"
 
-#: src/game.c:771
+#: src/game.c:822
 msgid "by stopping bonus comets."
 msgstr "wenn du Bonus-Kometen aufhälst."
 
-#: src/game.c:780
+#: src/game.c:831
 msgid "Zap it now!"
 msgstr "Knall ihn jetzt ab!"
 
-#: src/game.c:784
+#: src/game.c:835
 msgid "Great job!"
 msgstr "Super Arbeit!"
 
-#: src/game.c:798
+#: src/game.c:849
 msgid "Quit at any time by pressing"
 msgstr "Beende das Spiel zu jeder Zeit durch Drücken von "
 
-#: src/game.c:799
+#: src/game.c:850
 msgid "'Esc' or clicking the 'X'"
 msgstr "'Esc' oder durch klicken auf das 'X'"
 
-#: src/game.c:800
+#: src/game.c:851
 msgid "in the upper right corner."
 msgstr "in der oberen rechten Ecke."
 
-#: src/game.c:801
+#: src/game.c:852
 msgid "Do it now, and then play!"
 msgstr "Tu es jetzt - und dann spiele!"
 
-#: src/titlescreen.c:407
+#: src/highscore.c:213 src/titlescreen.c:864
+msgid "Hall Of Fame"
+msgstr "Ruhmeshalle"
+
+#: src/highscore.c:235 src/highscore.c:256 src/titlescreen.c:800
+#: src/titlescreen.c:859
+msgid "Space Cadet"
+msgstr "Raumkadett"
+
+#: src/highscore.c:238 src/titlescreen.c:801 src/titlescreen.c:860
+msgid "Scout"
+msgstr "Aufklärer"
+
+#: src/highscore.c:241 src/titlescreen.c:802 src/titlescreen.c:861
+msgid "Ranger"
+msgstr "Jäger"
+
+#: src/highscore.c:244 src/titlescreen.c:803 src/titlescreen.c:862
+msgid "Ace"
+msgstr "Ass"
+
+#: src/highscore.c:247 src/titlescreen.c:804 src/titlescreen.c:863
+msgid "Commando"
+msgstr ""
+
+#: src/highscore.c:250 src/titlescreen.c:983
+msgid "Factors"
+msgstr ""
+
+#: src/highscore.c:253 src/titlescreen.c:984
+msgid "Fractions"
+msgstr ""
+
+#: src/titlescreen.c:486
 msgid "Work In Progress!"
 msgstr "In Arbeit!"
 
-#: src/titlescreen.c:408
+#: src/titlescreen.c:487
 msgid "This feature is not ready yet"
 msgstr "Dieser Bereich ist noch nicht fertig."
 
-#: src/titlescreen.c:409
+#: src/titlescreen.c:488
 msgid "Discuss the future of TuxMath at"
 msgstr "Diskutiere über die Zukunft von TuxMath auf "
 
-#: src/titlescreen.c:410
+#: src/titlescreen.c:489
 msgid "tuxmath-devel at lists.sourceforge.net"
 msgstr "tuxmath-devel at lists.sourceforge.net"
 
-#: src/titlescreen.c:578
-msgid "Math Command Training Academy"
-msgstr "Math Command Trainings-Akademie"
+#: src/titlescreen.c:662
+msgid "Play Alone"
+msgstr ""
 
-#: src/titlescreen.c:579
-msgid "Play Arcade Game"
-msgstr "Spiele Arcade Spiel"
+#: src/titlescreen.c:663
+msgid "Play With Friends"
+msgstr ""
 
-#: src/titlescreen.c:580
-msgid "Play Custom Game"
-msgstr "Spiele angepasstes Spiel"
+#: src/titlescreen.c:664
+msgid "Factoroids!"
+msgstr ""
 
-#: src/titlescreen.c:581
+#: src/titlescreen.c:665
 msgid "Help"
 msgstr "Hilfe"
 
-#: src/titlescreen.c:582
+#: src/titlescreen.c:666
 msgid "More Options"
 msgstr "Weitere Optionen"
 
-#: src/titlescreen.c:583
+#: src/titlescreen.c:667
 msgid "Quit"
 msgstr "Ende"
 
-#: src/titlescreen.c:651
-msgid "Space Cadet"
-msgstr "Raumkadett"
+#: src/titlescreen.c:741
+msgid "Math Command Training Academy"
+msgstr "Math Command Trainings-Akademie"
 
-#: src/titlescreen.c:652
-msgid "Scout"
-msgstr "Aufklärer"
+#: src/titlescreen.c:742
+msgid "Math Command Fleet Missions"
+msgstr ""
 
-#: src/titlescreen.c:653
-msgid "Ranger"
-msgstr "Jäger"
+#: src/titlescreen.c:743
+msgid "Play Arcade Game"
+msgstr "Spiele Arcade Spiel"
 
-#: src/titlescreen.c:654
-msgid "Ace"
-msgstr "Ass"
+#: src/titlescreen.c:744
+msgid "Play Custom Game"
+msgstr "Spiele angepasstes Spiel"
 
-#: src/titlescreen.c:655
-msgid "Hall Of Fame"
-msgstr "Ruhmeshalle"
-
-#: src/titlescreen.c:656
+#: src/titlescreen.c:745 src/titlescreen.c:796 src/titlescreen.c:805
+#: src/titlescreen.c:865 src/titlescreen.c:985
 msgid "Main menu"
 msgstr "Hauptmenü"
 
-#: src/titlescreen.c:735
+#: src/titlescreen.c:794
+msgid "Score Sweep"
+msgstr ""
+
+#: src/titlescreen.c:795
+msgid "Elimination"
+msgstr ""
+
+#: src/titlescreen.c:839
+msgid "How many kids are playing?"
+msgstr ""
+
+#: src/titlescreen.c:840
+msgid "(Between 2 and 4 players)"
+msgstr ""
+
+#: src/titlescreen.c:959
 msgid "Edit 'options' file in your home directory"
 msgstr "Editiere die 'options' Datei in deinem Benutzerverzeichnis"
 
-#: src/titlescreen.c:736
+#: src/titlescreen.c:960
 msgid "to create customized game!"
 msgstr "um ein angepasstes Spiel zu erzeugen."
 
-#: src/titlescreen.c:737
+#: src/titlescreen.c:961
 msgid "Press a key or click your mouse to start game."
 msgstr "Drücke eine Taste oder klicke mit der Maus um ein Spiel zu starten"
 
-#: src/titlescreen.c:738
+#: src/titlescreen.c:962
 msgid "See README.txt for more information"
 msgstr "Lies die README.txt Datei für weitere Infrormationen"
 
-#: src/titlescreen.c:769
+#: src/titlescreen.c:1077
 msgid "Demo"
 msgstr "Demonstration"
 
-#: src/titlescreen.c:770
+#: src/titlescreen.c:1078
 msgid "Project Info"
 msgstr "Projekt Information"
 
-#: src/titlescreen.c:771
+#: src/titlescreen.c:1079
 msgid "Credits"
 msgstr "Abspann"
 
-#: src/titlescreen.c:772
+#: src/titlescreen.c:1080
 msgid "Main Menu"
 msgstr "Hauptmenü"
 
-#: src/titlescreen.c:816
+#: src/titlescreen.c:1127
 msgid "TuxMath is free and open-source!"
 msgstr "TuxMath ist frei und OpenSource!"
 
-#: src/titlescreen.c:817
+#: src/titlescreen.c:1128
 msgid "You can help make it better by reporting problems,"
 msgstr "Du kannst bei der Verbesserung helfen, wenn du Probleme "
 
-#: src/titlescreen.c:818
+#: src/titlescreen.c:1129
 msgid "suggesting improvements, or adding code."
 msgstr "meldest, Wünsche außerst oder Programmcode beisteuerst."
 
-#: src/titlescreen.c:819
+#: src/titlescreen.c:1130
 msgid "Discuss the future at tuxmath-devel at lists.sourceforge.net"
-msgstr "Diskutiere die Zukunft von TuxMath auf tuxmath-devel at lists.sourceforge.net"
+msgstr ""
+"Diskutiere die Zukunft von TuxMath auf tuxmath-devel at lists.sourceforge.net"
 
 #: data/missions/lessons/descr_lessons:1
 msgid "Number Typing"
@@ -299,158 +578,159 @@
 msgstr "Vielfache von 5"
 
 #: data/missions/lessons/descr_lessons:18
+#: data/missions/lessons/descr_lessons:19
 msgid "Multiplication: 0 to 5"
 msgstr "Multiplikation: 0 bis 5"
 
-#: data/missions/lessons/descr_lessons:19
+#: data/missions/lessons/descr_lessons:20
 msgid "Multiples of 6"
 msgstr "Vielfache von 6"
 
-#: data/missions/lessons/descr_lessons:20
+#: data/missions/lessons/descr_lessons:21
 msgid "Multiples of 7"
 msgstr "Vielfache von 7"
 
-#: data/missions/lessons/descr_lessons:21
+#: data/missions/lessons/descr_lessons:22
+#: data/missions/lessons/descr_lessons:23
 msgid "Multiplication: 0 to 7"
 msgstr "Multiplikation: 0 bis 7"
 
-#: data/missions/lessons/descr_lessons:22
+#: data/missions/lessons/descr_lessons:24
 msgid "Multiples of 8"
 msgstr "Vielfache von 8"
 
-#: data/missions/lessons/descr_lessons:23
+#: data/missions/lessons/descr_lessons:25
 msgid "Multiples of 9"
 msgstr "Vielfache von 9"
 
-#: data/missions/lessons/descr_lessons:24
+#: data/missions/lessons/descr_lessons:26
 msgid "Multiples of 10"
 msgstr "Vielfache von 10"
 
-#: data/missions/lessons/descr_lessons:25
+#: data/missions/lessons/descr_lessons:27
 msgid "Multiplication: 0 to 10"
 msgstr "Multiplikation: 0 bis 10"
 
-#: data/missions/lessons/descr_lessons:26
+#: data/missions/lessons/descr_lessons:28
 msgid "Multiples of 11 and 12"
 msgstr "Vielfache von 11 und 12"
 
-#: data/missions/lessons/descr_lessons:27
+#: data/missions/lessons/descr_lessons:29
 msgid "Multiplication: 0 to 12"
 msgstr "Multiplikation: 0 bis 12"
 
-#: data/missions/lessons/descr_lessons:28
+#: data/missions/lessons/descr_lessons:30
 msgid "Multiples of 13, 14, and 15"
 msgstr "Vielfache von 13, 14 und 15"
 
-#: data/missions/lessons/descr_lessons:29
+#: data/missions/lessons/descr_lessons:31
 msgid "Multiplication: 0 to 15"
 msgstr "Multiplikation: 0 bis 15"
 
-#: data/missions/lessons/descr_lessons:30
+#: data/missions/lessons/descr_lessons:32
 msgid "Multiplication: Missing Numbers"
 msgstr "Multiplikation: fehlende Zahlen"
 
-#: data/missions/lessons/descr_lessons:31
+#: data/missions/lessons/descr_lessons:33
 msgid "Division by 2"
 msgstr "Division durch 2"
 
-#: data/missions/lessons/descr_lessons:32
+#: data/missions/lessons/descr_lessons:34
 msgid "Division by 3"
 msgstr "Division durch 3"
 
-#: data/missions/lessons/descr_lessons:33
+#: data/missions/lessons/descr_lessons:35
 msgid "Division by 4"
 msgstr "Division durch 4"
 
-#: data/missions/lessons/descr_lessons:34
+#: data/missions/lessons/descr_lessons:36
 msgid "Division by 5"
 msgstr "Division durch 5"
 
-#: data/missions/lessons/descr_lessons:35
+#: data/missions/lessons/descr_lessons:37
 msgid "Division: 1 to 5"
 msgstr "Division: 1 bis 5"
 
-#: data/missions/lessons/descr_lessons:36
+#: data/missions/lessons/descr_lessons:38
 msgid "Division by 6"
 msgstr "Division durch 6"
 
-#: data/missions/lessons/descr_lessons:37
+#: data/missions/lessons/descr_lessons:39
 msgid "Division by 7"
 msgstr "Division durch 7"
 
-#: data/missions/lessons/descr_lessons:38
+#: data/missions/lessons/descr_lessons:40
 msgid "Division by 8"
 msgstr "Division durch 8"
 
-#: data/missions/lessons/descr_lessons:39
+#: data/missions/lessons/descr_lessons:41
 msgid "Division by 9"
 msgstr "Division durch 9"
 
-#: data/missions/lessons/descr_lessons:40
+#: data/missions/lessons/descr_lessons:42
 msgid "Division by 10"
 msgstr "Division durch 10"
 
-#: data/missions/lessons/descr_lessons:41
+#: data/missions/lessons/descr_lessons:43
 msgid "Division: 1 to 10"
 msgstr "Division: 1 bis 10"
 
-#: data/missions/lessons/descr_lessons:42
+#: data/missions/lessons/descr_lessons:44
 msgid "Division by 11 and 12"
 msgstr "Division durch 11 und 12"
 
-#: data/missions/lessons/descr_lessons:43
+#: data/missions/lessons/descr_lessons:45
 msgid "Division: 1 to 12"
 msgstr "Division: 1 bis 12"
 
-#: data/missions/lessons/descr_lessons:44
+#: data/missions/lessons/descr_lessons:46
 msgid "Division by 13, 14, and 15"
 msgstr "Division durch 13, 14 und 15"
 
-#: data/missions/lessons/descr_lessons:45
+#: data/missions/lessons/descr_lessons:47
 msgid "Division: 1 to 15"
 msgstr "Division: 1 bis 15"
 
-#: data/missions/lessons/descr_lessons:46
+#: data/missions/lessons/descr_lessons:48
 msgid "Multiplication and Division Review"
 msgstr "Bericht Multiplikation und Division"
 
-#: data/missions/lessons/descr_lessons:47
+#: data/missions/lessons/descr_lessons:49
 msgid "Typing Negative Numbers"
 msgstr "Negative Zahlen eingeben"
 
-#: data/missions/lessons/descr_lessons:48
+#: data/missions/lessons/descr_lessons:50
 msgid "Subtraction: Negative Answers"
 msgstr "Subtraktion: Negative Ergebnisse"
 
-#: data/missions/lessons/descr_lessons:49
+#: data/missions/lessons/descr_lessons:51
 msgid "Adding Negatives to Positives"
 msgstr "Negative Zahlen zu positiven hinzufügen"
 
-#: data/missions/lessons/descr_lessons:50
+#: data/missions/lessons/descr_lessons:52
 msgid "Subtracting Negatives From Positives"
 msgstr "Negative Zahlen von positven subtrahieren"
 
-#: data/missions/lessons/descr_lessons:51
+#: data/missions/lessons/descr_lessons:53
 msgid "Adding Negatives to Negatives"
 msgstr "Negative Zahlen zu negativen hinzufügen"
 
-#: data/missions/lessons/descr_lessons:52
+#: data/missions/lessons/descr_lessons:54
 msgid "Subtracting Negatives From Negatives"
 msgstr "Negative Zahlen von negativen abziehen"
 
-#: data/missions/lessons/descr_lessons:53
+#: data/missions/lessons/descr_lessons:55
 msgid "Negative and Positive Numbers Review"
 msgstr "Bericht: Negative und positive Zahlen"
 
-#: data/missions/lessons/descr_lessons:54
+#: data/missions/lessons/descr_lessons:56
 msgid "Multiplication and Division of Negatives"
 msgstr "Multiplikation und Division von negativen Zahlen"
 
-#: data/missions/lessons/descr_lessons:55
+#: data/missions/lessons/descr_lessons:57
 msgid "Multiplication of Positives and Negatives"
 msgstr "Multiplikation von positiven und negativen Zahlen"
 
-#: data/missions/lessons/descr_lessons:56
+#: data/missions/lessons/descr_lessons:58
 msgid "Division of Positives and Negatives"
 msgstr "Division von positiven und negativen Zahlen"
-

Modified: tuxmath/trunk/src/mathcards.c
===================================================================
--- tuxmath/trunk/src/mathcards.c	2008-12-11 13:05:57 UTC (rev 799)
+++ tuxmath/trunk/src/mathcards.c	2008-12-12 01:15:05 UTC (rev 800)
@@ -1470,8 +1470,6 @@
 
   mcdprintf("Entering generate_random_flashcard()\n");
 
-
-
   do
     pt = rand() % MC_NUM_PTYPES;
   while ( (pt == MC_PT_TYPING && !MC_GetOpt(TYPING_PRACTICE_ALLOWED) ) ||
@@ -1597,11 +1595,14 @@
         r1 *= r2;
         ans = ret.difficulty;
       }
-    } while (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES) );
+    } while // Here is where we filter out invalid questions
+      (
+        (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES))
+      );
 
 
     mcdprintf("Constructing answer_string\n");
-    snprintf(ret.answer_string, max_answer_size+1, "%d", ans);
+    snprintf(ret.answer_string, max_answer_size + 1, "%d", ans);
     mcdprintf("Constructing formula_string\n");
     snprintf(ret.formula_string, max_formula_size, "%d %c %d",
              r1, operchars[op], r2);
@@ -1680,21 +1681,28 @@
     snprintf(ret.answer_string, max_answer_size, "%d", ret.answer);
     ret.difficulty += (length - 1) + op;
   }
-  
-  if (reformat)
+
+  // Here we add the " = ?", and if desired, rearrange the string
+  // for a "missing answer" question
+  strncat(ret.formula_string, 
+          " = ?", 
+          max_formula_size - strlen(ret.formula_string));
+
+  if(0)//(reformat)
   {
     mcdprintf("Reformatting...\n");
     do {
       format = rand() % MC_NUM_FORMATS;
     } while (!MC_GetOpt(FORMAT_ANSWER_LAST + format) && 
-             !MC_GetOpt(FORMAT_ADD_ANSWER_LAST + op * 3 + format) );
-   
-    strncat(ret.formula_string, " = ?", max_formula_size - strlen(ret.formula_string) );
-    reformat_arithmetic(&ret, format );     
+             !MC_GetOpt(FORMAT_ADD_ANSWER_LAST + op * 3 + format));
+
+    reformat_arithmetic(&ret, format);     
   }
   return ret;
 }
 
+
+
 MC_MathQuestion* generate_list(void)
 {
   int i;
@@ -1775,10 +1783,10 @@
     }
   }
 
-  else
+  /* Here we are just generating random questions, one at a */
+  /* time until we have enough                              */
+  else 
   {
-
-
     for (i = 0; i < length; ++i)
     {
       tnode = malloc(sizeof(MC_MathQuestion) );
@@ -2101,6 +2109,7 @@
   {
     mcdprintf("Adding arithmetic...\n");
 
+    // The k loop iterates through the four arithmetic operations:
     // k = 0 means addition
     // k = 1 means subtraction
     // k = 2 means multiplication
@@ -2110,36 +2119,60 @@
       if (!MC_GetOpt(k + ADDITION_ALLOWED) )
         continue;
       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)
       {
         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)
         {
-          //mcdprintf("%d,", j);
-          if (k == MC_OPER_ADD)
-            ans = i + j;
-          else if (k == MC_OPER_SUB)
+          // Generate the third number according to the operation.
+          // Although it is called "ans", it will not be the actual
+          // answer if it is a "missing number" type problem
+          // (e.g. "3 x ? = 12")
+          // We also filter out invalid questions here
+          switch (k)
           {
-            ans = i - j;
-            // throw out negatives if they aren't allowed:
-            if (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES) )
+            case MC_OPER_ADD:
+            {
+              ans = i + j;
+              break;
+            }
+            case MC_OPER_SUB:
+            {
+              ans = i - j;
+              // throw out negatives if they aren't allowed:
+              if (ans < 0 && !MC_GetOpt(ALLOW_NEGATIVES) )
+                continue;
+              break;
+            }
+            case MC_OPER_MULT:
+            {
+              ans = i * j;
+              break;
+            }
+            case MC_OPER_DIV:
+            {
+              tmp = i;
+              i *= j;
+              ans = j;
+              j = tmp;
+              break;
+            }
+            default:
+              fprintf(stderr, "Unrecognized operation type: %d\n", k);
               continue;
           }
-          else if (k == MC_OPER_MULT)
-            ans = i * j;
-          else if (k == MC_OPER_DIV)
-          {
-            mcdprintf("%d %d %d\n", ans, i, j);
-            tmp = i;
-            i *= j;
-            ans = j;
-            j = tmp;
-            mcdprintf("%d %d %d\n", ans, i, j);
-          }
 
           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
-          if (MC_GetOpt(FORMAT_ANSWER_LAST) && MC_GetOpt(FORMAT_ADD_ANSWER_LAST + k * 3) )
+
+          // Questions like "a + b = ?"
+          if (MC_GetOpt(FORMAT_ANSWER_LAST) && MC_GetOpt(FORMAT_ADD_ANSWER_LAST + k * 3))
           {
             // Avoid division by zero:
             if (k == MC_OPER_DIV && j == 0)
@@ -2164,13 +2197,17 @@
             list = insert_node(list, end_of_list, tnode);
             end_of_list = tnode;
           }
+
+
+          // Questions like "? + b = c"
           if (MC_GetOpt(FORMAT_ANSWER_FIRST) && MC_GetOpt(FORMAT_ADD_ANSWER_FIRST + k * 3) )
           {
             // Avoid questions with indeterminate answer:
             // e.g. "? x 0 = 0"
             if (k == MC_OPER_MULT && j == 0)
+            {
               continue;
-
+            }
             // Avoid division by zero:
             if (k == MC_OPER_DIV && j == 0)
             {
@@ -2194,13 +2231,16 @@
             list = insert_node(list, end_of_list, tnode);
             end_of_list = tnode;
           }
-          if (MC_GetOpt(FORMAT_ANSWER_MIDDLE) && MC_GetOpt(FORMAT_ADD_ANSWER_MIDDLE + k * 3) )
+
+
+          // Questions like "a + ? = c"
+          if (MC_GetOpt(FORMAT_ANSWER_MIDDLE) && MC_GetOpt(FORMAT_ADD_ANSWER_MIDDLE + k * 3))
           {
             // Avoid questions with indeterminate answer:
             // e.g. "0 x ? = 0"
             if (k == MC_OPER_MULT && i == 0)
-              continue; 
-
+              continue;
+ 
             // e.g. "0 / ? = 0"
             if (k == MC_OPER_DIV && i == 0)
             {
@@ -2210,7 +2250,7 @@
               continue;
             }
 
-           tnode = allocate_node();
+            tnode = allocate_node();
             if(!tnode)
             {
               fprintf(stderr, "In add_all_valid() - allocate_node() failed!\n");
@@ -2285,7 +2325,7 @@
     //insert old answer where question mark was
     for (i = 0, j = 0; card->formula_string[j] != '?'; ++i, ++j)
       nformula[i] = card->formula_string[j];
-    i += snprintf(nformula + i, max_answer_size-1, "%s", card->answer_string);
+    i += snprintf(nformula + i, max_answer_size - 1, "%s", card->answer_string);
     snprintf(nformula + i, max_formula_size - i, "%s", card->formula_string + j + 1);
 
     //replace the new answer with a question mark




More information about the Tux4kids-commits mailing list