Tuxmath
一款以 Linux 企鹅 Tux 为主角的教育数学教程游戏。基于经典街机游戏“导弹指挥”,Tux 必须保卫他的城市。在这种情况下,他必须通过解决数学问题来做到这一点。
开发者:Bill Kendrick, Sam 'Criswell' Hart, Larry Ewing
许可:GNU GPLv2
网站:http://tux4kids.alioth.debian.org/
目标
在“Tux 的数学指令”中,你扮演指挥官 Tux 的角色,他保卫他的朋友们免受数学方程式的攻击。
彗星正在撞向在冰屋里的友好的企鹅,你必须通过解决它们的问题来摧毁彗星。
硬件要求
过去十年的任何机器都应该可以轻松处理 TuxMath——最初编写时,建议的最低 CPU 是 90 MHz Pentium。
- CPU:Pentium 90 MHz 或更高
- 640x480 分辨率
- 16 位声卡
- 游戏通常使用键盘进行游戏,但游戏也可以使用大型屏幕数字键盘进行游戏,该键盘可以使用指针(即鼠标、轨迹球、触摸屏显示器、触摸板等)访问。
标题屏幕
数学指令训练学院:选择此项进入超过五十个预制课程的列表,从简单的单个数字输入开始,到涉及负数和“缺失数字”问题的乘法和除法。如果问题列表成功完成,玩家获胜。成功完成的课程会用闪烁的金色星星标出。
玩街机游戏:使用此项从四个开放式“街机风格”游戏中选择一个,这意味着只要玩家能跟上,游戏玩法就会越来越快,目标是获得尽可能高的分数。选项包括
- 太空探索者 - 简单的加法。
- 侦察兵 - 加法和减法到十。
- 游骑兵 - 加法、减法、乘法和除法到十。
- 王牌 - 所有四种运算,操作数到 20,包括负数和“缺失数字”类型的问题。
如果你进入难度级别的排名前十名,你就可以在 TuxMath 名人堂中输入你的名字!
玩自定义游戏:使用此项玩基于玩家主目录中的配置文件(如下所示)的游戏。在某个时候,选项将可以从游戏内设置。
更多选项 - 这将发展成用于设置与数学问题不直接相关的选项的菜单,例如切换音乐的开关、全屏与窗口模式、使用城市与冰屋等。现在它只有“演示”模式,以及积分和项目信息。
使用 [UP] 和 [DOWN] 箭头键选择你想要做的事情,然后按 [ENTER / RETURN / SPACEBAR]。或者,使用鼠标单击菜单项。
按 [ESCAPE] 将退出程序。
游戏方法
摧毁彗星
当彗星向你的朋友们落下时,你必须解决这些方程式。
摧毁它
首先,弄清楚方程式的答案
For example, "3 x 4 = ?" would be "12"
其次,输入答案。当你从键盘上输入数字时,它们将出现在 Tux 的平板显示器上的“LED”风格显示屏上。如果启用了负答案,LED 显示屏上将有第四个位置用于负号。'-' 和 '+' 键将分别切换负号的开关。
最后,按 [ENTER / RETURN]。
Tux 将击落答案是你输入的数字的彗星!
更正你的答案
If you made a mistake as you typed in your answer, you can press [BACKSPACE / DELETE] and the "LED"-style display at the top center of the screen will reset to "000".
失去冰屋或城市
默认设置是与居住在冰屋里的企鹅一起玩。如果彗星撞到冰屋,冰屋会部分融化。第二次撞击会融化冰屋的其余部分,悲伤的企鹅会从屏幕上走开。
如果使用城市(通过在配置文件中放置“use_igloos = 0”并选择“玩自定义游戏”),游戏玩法相同。第一次撞击会停用城市的护盾,第二次撞击会摧毁城市。如果这看起来太可怕或暴力,请使用企鹅/冰屋主题!
重新获得冰屋/城市
当问题正确回答时,玩家会获得一个奖励彗星的进度,该彗星允许重建一个冰屋或城市。进度用屏幕左上角的绿色条表示。奖励彗星是红色的,移动速度比普通彗星快。如果玩家击落奖励彗星,一个“雪暴”图像将出现在奖励进度条的位置,并且在当前波之后,一个冰屋/城市将被重建。
结束游戏
默认模式现在是通过定义的列表来玩问题。此模式用于“训练学院”游戏。对于“自定义”游戏,可以通过将配置文件中的 'play_through_list' 参数设置为 1('yes' 或 'true'),或通过命令行参数“--playthroughlist”来选择。该列表由 TuxMath 基于一系列可选择的参数(选择的数学运算、数字范围等)生成。默认情况下,问题以随机顺序提出。如果正确回答,它们将被删除。未正确回答的问题(允许彗星摧毁其目标)将以随机顺序重新出现。如果所有问题在冰屋或城市被摧毁之前都得到成功回答,玩家获胜,并显示“胜利”屏幕。
较旧的街机风格模式也受支持,在这种模式下,游戏将持续到你失去所有的冰屋或城市。然后将显示 GAME OVER 屏幕。对于“自定义”游戏,你可以通过将 'play_through_list' 设置为 '0'('no'、'false'、'off')来选择此模式。
通过按 Esc 或单击右上角的红色圆圈,你可以退出游戏。
快捷键
在游戏过程中支持以下快捷键
| F10 | 在窗口模式和全屏显示模式之间切换。 |
| P 或 Tab | 如果允许,暂停游戏。包含的“数学指令训练学院”课程允许暂停,而“街机”游戏则不允许。 |
| 向上箭头 | 如果允许,增加速度 20%。 |
| 向下箭头 | 如果允许,降低速度 20%。当启用暂停时,可以更改速度。 |
| Esc | 退出当前游戏并显示菜单。 |
设置游戏选项
“选项”系统仍然需要进行改进。现在,你可以玩预包装的“课程”或“街机”游戏,或者编辑选项文件以创建“自定义”游戏。在某个时候,自定义设置将可以从 TuxMath 内部进行修改。
- 该程序以人类可读的方式读取和写入磁盘上的设置,可以使用文本编辑器进行修改。该文件在用户的家目录中创建一个名为“.tuxmath”的目录,并简单地命名为“options”。例如,在 Unix/Linux 系统上,用户“laura”可以在/home/laura/.tuxmath/options 找到此文件。该文件包含描述所有设置的详细注释。通过编辑和保存此文件,可以对程序进行非常广泛的控制,尤其是在生成数学问题方面。实际上不再需要使用命令行选项了。
- 支持许多命令行选项(见下文)。
设置管理选项
“Tux 的数学指令”允许家长/老师控制游戏选项是否可以由玩家更改。
游戏选项首先从程序数据目录中的主配置文件(例如,/usr/share/tuxmath/missions/options)读取,然后如果主选项文件中选择了“per_user_config”,则会被用户自己的.tuxmath/options 文件覆盖。如果取消选择“per_user_config”,游戏将从主设置启动。(这有点建设中)。
游戏摘要文件:跟踪玩家表现
“Tux 的数学指令”将玩家的 .tuxmath 目录中保存最近十场游戏的摘要。这些文件命名为“summary1”到“summary10”,其中“summary1”是最新的。这些文件包括所提问题和错过的问题的列表,以及正确和错误答案的数量以及正确率以及有关在回答问题之前该问题通常在屏幕上显示多长时间的信息。
除了这些摘要文件,还有一个 log.csv 文件,其中包含每次尝试的任务(用户必须至少回答一个问题才能算作一次尝试)的一行摘要。可以将此文件导入电子表格程序(OpenOffice.org calc、Microsoft Excel、KSpread、Gnumeric、Google Docs 等)以检查或绘制孩子的进度。
使用多用户配置:给教师的一些提示
学校的计算机管理员可以配置 TuxMath,以便学生在开始游戏时“登录”(见下文)。然后学生将拥有自己个性化的金色星星记录,并将为每个学生单独保存摘要和日志文件(如上所述)。
如果你想自己测试 TuxMath 而不“污染”学生帐户中的记录,请在单击你和你的课堂对应的菜单项时按住 control 键(“Ctrl”)。然后你将“作为你自己”进行游戏。
配置多个用户
在某些情况下,用户的登录名不是很有信息量:例如,当学校为学校的所有学生使用单个用户名“student”时。可以设置 Tuxmath,以便在他们第一次启动游戏时要求学生“登录”(无需任何密码)。这将确保所有金色星星、选项和游戏摘要文件都存储在特定于每个用户的某个位置。
设置起来相当简单。有两种方法:手动和使用单独的程序 tuxmathadmin。前两步无论哪种方式都相同
- 决定你想将此信息存储在哪里。你可能想把它放在中央服务器上。在适当的位置(让我们假设是/servervolume/),创建一个名为“tuxmath_users”的目录,用于当前目的。
- 设置 Tuxmath 自动找到用户目录树。找到全局配置文件(例如,/usr/share/tuxmath/missions/options)。将“homedir”属性(在文件的末尾)设置为指向你的主目录树。确保取消注释(删除“#”符号)该行。
请注意,你还可以使用命令行选项 --homedir /severvolume/tuxmath_users(以及任何其他选项)启动 tuxmath。单个课堂可以使用此学校范围内的服务,通过在选项文件语法中指定homedir = /servervolume/tuxmath_users/2nd\ grade/Mrs.\ Johnson
为了让特定班级的学生只在自己班级中选择,而无需浏览完整的登录“树”。
使用 tuxmathadmin
如果您正在使用 tuxmathadmin,以下是剩余步骤
3. 使用电子表格程序,创建一个反映您希望组织登录系统的电子表格。以下示例应该说明语法(如果间距不清晰,请尝试使用等宽字体查看)
| 列 1 | 列 2 | 列 3 |
|---|---|---|
| 一年级 | 琼斯先生 | KidA |
| KidB | ||
| KidC | ||
| 史密斯先生 | Kid1 | |
| Kid2 | ||
| 二年级 | 威尔逊女士 | Kid a |
| Kid b | ||
| Kid c | ||
| Kid d |
这表明三个孩子(名为“KidA”、“KidB”和“KidC”)在琼斯先生的一年级班级;两个孩子(“Kid1”和“Kid2”)在史密斯夫人的一年级班级,威尔逊夫人的二年级班级有 4 个孩子。学校可能还有更多的孩子和更多的教室,但这只是一个简短的示例,旨在说明文件的组织方式。
请注意,它是灵活的:您不必按年级、老师和孩子划分;您可以只进行老师和孩子划分,或者只进行孩子划分,或者您可以进行更复杂的操作(“东校区”、“一年级”等)。如果您只想为家庭使用设置单个登录,您可以只列出孩子们的名字在一个列中,仅此而已。
将电子表格保存为逗号分隔值文件(.csv 文件)。如果您需要手动准备它(例如,使用文本编辑器),生成的 CSV 文件将如下所示
"一年级",, ,"琼斯先生", ,,"KidA" ,,"KidB" ,,"KidC" ,"史密斯先生", ,,"Kid1" ,,"Kid2" "二年级",, ,"威尔逊女士", ,,"Kid a" ,,"Kid b" ,,"Kid c" ,,"Kid d"
4. 使用以下命令创建目录层次结构(从命令行/shell 执行)
tuxmathadmin --createhomedirs userfile.csv
或者
tuxmathadmin --path /servervolume/tuxmath_users --createhomedirs userfile.csv
(如果尚未像上述步骤 2 中那样更新全局配置文件,请使用第二种语法)。这里,“userfile.csv”是您在上一步中创建的文件名。它应该告诉您它正在创建所有用户目录并完成而没有错误。请注意,“tuxmathadmin -h”提供帮助,包括 tuxmathadmin 可以执行的操作列表。
5. 可选地,在“tuxmath_users”目录中,您还可以创建一个文件,在层次结构的每个步骤中提出一个问题。对于上面的示例,它可能包含三行
Choose your grade: Choose your teacher: Who are you?
您需要将此保存为原始文本文件,文件名为“user_login_questions”,位于用户层次结构目录的顶层(/servervolume/tuxmath_users)。如果您省略此文件,则学生将直接呈现列表,而没有任何提示。
6. 决定您希望用户如何竞争高分。对于上面的示例,假设您希望每个学生与同一班级的其他孩子竞争。您可以使用以下命令配置此设置
tuxmathadmin --confighighscores --level 3
"tuxmathadmin -h" 详细说明了不同级别的选择的含义。
7. 可选地,您还可以使用 cron 配置某些任务以自动运行。例如,如果您希望每天清除所有学生的金星,您可以将执行以下操作的脚本放入
tuxmathadmin --cleargoldstars
在 /etc/cron.daily 目录中。有关更多详细信息,请参阅 cron 文档。您可能还希望使用 --consolidatelogs 运行 tuxmathadmin 以生成每日报告(如下所示)。
手动配置
如果您选择手动配置 TuxMath,以下是步骤
3. 在 tuxmath_users 中,创建一个名为“user_menu_entries”的文本文件。此文件包含学生登录时将呈现的选择列表,每行一个条目。例如,拥有许多教室的大型学校可能具有名为“幼儿园”、“一年级”等的选择。
4. 在同一目录中,创建与 user_menu_entries 中出现的名称相同的子目录。
5. 在这些目录中创建进一步的 user_menu_entries 和进一步的子目录。例如,在“幼儿园”中,您可能希望为每个教室创建目录,例如“史密斯夫人”和“琼斯先生”。规模较小的学校可能会选择跳过按年级划分的组织,直接进入每个教室;单个教室中的单个计算机可能会完全跳过这些。始终确保 user_menu_entry 文件与目录结构匹配(尽管拥有额外的目录不会导致问题)。
您必须确保为学生能够写入这些目录设置了所有正确的写入权限。
6. 在最精细的级别,为每个学生创建一个菜单项和一个子目录。
7. 可选地,执行上述 tuxmathadmin 配置步骤 5 中描述的任务(创建 user_login_questions 文件)。
8. 可选地,您可以在希望用户竞争高分的层次结构级别创建一个名为“highscores”(在 Windows 上为“highscores.txt”)的空文件。
例如,如果您希望高分按年级划分,则将“highscores”文件放在每个年级的目录中。或者,每个教室可以拥有自己的,甚至每个学生都可以拥有。如果您不执行任何操作,则每个学生将拥有一个私人的高分表。(在存在多个 highscores 文件的情况下,层次结构中最低级别的文件获胜。)
多用户配置中的进度跟踪
tuxmathadmin 包含一个功能“--consolidatelogs”,它在所有高于最低级别的目录中创建一个 consolidated_log.csv 文件。基本用例是合并特定班级中所有学生的报告。教师/家长可以使用上述“游戏摘要文件”中描述的电子表格程序打开此文件。
命令行选项
可以将以下命令行选项发送到程序
| --optionfile filename | 基于命名文件中设置的游戏(有关 tuxmath 配置文件,请参见下文)。Tuxmath 将在以下位置查找具有匹配名称的有效配置文件
|
| --playthroughlist | 基于所选选项(或默认值)生成。如果彗星撞击城市而未被玩家击落,则该问题将以随机位置重新插入到列表中。如果玩家在城市被摧毁之前正确回答了所有问题,则他/她获胜。如果所有城市都被摧毁,游戏以失败告终。 |
| --answersfirst | 以格式提问:? + num2 = num3 而不是默认格式:num1 + num2 = ?。 |
| --answersmiddle | 以格式提问:num1 + ? = num3 而不是默认格式:num1 + num2 = ?。 |
| --fullscreen | 如果可能,以全屏模式运行游戏,而不是在窗口中运行。 |
| --windowed | 以 640 x 480 窗口运行游戏。 |
| --nosound | 不播放任何声音或音乐。 |
| --nobackground | 不在游戏中显示照片背景。(在较慢的系统上很有用。) |
| --keypad | 显示屏幕上的数字键盘。(对于触摸屏或代替物理键盘很有用。) |
| --operator OP | 将运算符添加到游戏中(这将导致程序忽略保存的选项屏幕设置)。您可以多次使用此开关以使用多个运算符运行游戏。 “OP”的有效值是
|
| --help | 显示简短的帮助消息,解释如何玩游戏。 |
| --usage | 显示可用的命令行选项。 |
| --version | 显示您正在运行的“tuxmath”的版本。 |
| --copyright | 显示版权信息 |

