
2.2 C语言测试小程序开发
本节主要讲解如何将心理测试小程序改成C语言测试小程序,首先是添加一个D选项,然后再对题库进行修改,将其改为C语言题目。
2.2.1 增加D选项
由于C语言习题共有四个选项,所以要先给test页面添加一个D选项,test页面中有A、B、C的内容都相应地加上一个D,可以根据以下步骤进行修改。
在text.wxml中添加D选项的页面结构,如图2-16所示。

图2-16 在wxml中添加D选项的页面结构
在test.js中的data数组中添加与D选项有关的变量,如图2-17所示。

图2-17 在js文件中添加与D选项有关的变量
在事件处理函数answerClickA()的逻辑代码中添加D选项的逻辑,如图2-18所示。添加完后按钮A的代码如下(按钮B和按钮C同理):

图2-18 在事件处理函数answerClickA()的逻辑代码中添加D选项的逻辑

添加一个事件处理函数answerClickD(),仿照其他按钮添加按钮D的功能,即在按钮A、B、C的代码后面增加按钮D的一段代码,如图2-19所示。

图2-19 添加事件处理函数answerClickD()
除了test页面,result页面也需要添加一个D选项被选择的次数,所以需要对result.wxml与result.js文件进行简单修改,具体代码如下(这里只给出需要修改部分的代码):

修改后的result页面如图2-20所示。

图2-20 修改后的result页面
2.2.2 修改题库
由于运行小程序后出现的还是心理测试的题目,因此需要将其改成C语言的题目。其中,C语言题库可以在提供的代码包“C语言测试最终代码”中寻找。开发者先导入C语言小程序代码包,找到app.js文件后,将该项目中的question数组直接复制到自己的项目中,如图2-21所示。除此之外,开发者也可以尝试自己对题库进行修改,手动添加题目的题干信息与选项信息。
这里题库的question数组看着有点乱,不符合代码规范,开发者使用格式化代码的默认快捷键Shift+Alt+F将代码格式化。当然,开发者也可以选择“设置”→“快捷键设置”→“编辑”选项,自定义格式化代码的快捷键。格式化后的代码如图2-22所示。格式化后的question数组显得更加规范,开发者读代码时也更轻松。

图2-21 在app.js中修改题库信息

图2-22 格式化后的代码
题库修改后,单击“开始测试”按钮,进入test页面后看到的就是C语言测试题了,如图2-23所示。

图2-23 修改后的测试页面
另外C语言测试小程序中,如果想要题目不再随机出现,而且题目按question数组中的顺序显示给测试者,那么就需要将test页面中的randSort()函数注释掉。没有了randSort()函数,setList()函数和setABC()函数也就没有存在的必要了,因此也将其注释掉,如图2-24所示。注释的快捷键为Ctrl+/,另外onLoad()中的两句也要注释掉。

图2-24 注释掉randSort()、setList()和setABC()函数