百科测验-Scratch和社会学科的融合

创作背景

你或多或少看过一些知识竞赛节目,不管在电视上还是在学校,经常会举办各类知识竞赛,其中有很多都是小常识,和我们的生活是息息相关的。

那么你是用什么方法来记住这些小常识的呢?平时都是由老师出题大家解答,其实我们也可以反过来,自己试着做一些常识小测试,或者是百科测验。这个测验的题目和答案都是自己来决定的,只是你的答案是不是完全正确,还要得到大家的认可。怎么样,和我一起来做一款大家都喜欢的百科测验工具吧。

今天,我们就通过Scratch编程来制作一个简单的百科测验小应用吧。

作品效果预览

Scratch百科测验作品的效果如视频所示:

Scratch百科小测验作品效果

说明:

  • 这里只列出了4道题目,启动程序后,猫博士就开始提问了,玩家在输入框中输入答案即可,猫博士会做出判断,不管答案正确与否,都会进入下一题。
  • 答完全部题目后,会根据答题情况做出相应的评价,比如全部答对了,就会说“你太厉害了,👍”。

程序设计

1. 把问题和答案做成列表

既然是百科测验,自然就少不了问题和答案,并且问题和答案是一一对应的。问题的数量可以自己来定,但肯定不止一道题,如何保存问题和答案这些数据呢?

答案是列表,列表就是为保存批量数据而生的。切换到变量模块,建立两个列表,分别命名为“问题”和“答案”,如图:

建立“问题”和“答案”列表
建立“问题”和“答案”列表

刚建立的列表自然的空的,我们需要对其进行初始化设置,也就向列表中加入具体的问题和答案,增加的方式有两种:

  • 直接在列表中,点击“+”逐个加入
  • 使用Scratch积木块加入

第一种方法比较简单,但是第二种方法更规范。所以,这里我们采用第二种方法,在猫博士角色中添加如下代码:

初始化“问题”和“回答”列表
初始化“问题”和“回答”列表

需要注意的是,为了避免每次点击绿旗时,就加入一遍数据,需要在加入操作之前清空列表,这里使用了“删除列表的全部项目”指令。

2. 开始提问并核对答案

有了问题和答案,我们就让猫博士来提问吧。

在侦测模块,有两个专门用于和用户进行交互的问答指令,即“询问并等待”和“回答”指令,如图:

Scratch问答指令
Scratch问答指令

不过,在百科测验中,不是直接输入问题的,问题是存在在列表中的,我们需要从列表中一项一项的取出问题,这需要使用重复指令,同时还需要一个表示列表“编号”的变量,建立一个变量,命名为“编号”,再添加代码如下:

从列表中取出问题并提问
从列表中取出问题并提问

既然开始提问了,玩家就的回答,那么猫博士怎么获取你输入的内容呢,这就是“回答”指令的作用,获取用户输的内容,所以,我们只需要将回答和答案列表中的内容进行对比,就可以判断回答是否正确,如果回答就说“答对了”,否则就说“答错了”,继续添加代码如下:

提问并核对答案
提问并核对答案

如此一来,我们就可以开始进行问答测试了,只是在完成所有的测验之后,没有任何的反馈,是不是感觉少点什么呢?对了,如果给回答的情况做一个统计和评价,效果会更棒,你说是吧。

3. 统计回答情况并评价

要统计回答的题目,数量,就需要增加一个变量,建立一个变量,将其命名为“答对题目数”,将其初始化为0,在答对题目的时候,将变量加1,添加代码如下:

统计答对题目数量
统计答对题目数量

最后,我们可以针对答对题目数量给出相应的评价,这个没有统一的标准,可以自己制定规则,逻辑也比较简单,就是根据不同的答对题目数说出不同的内容,编写代码如下:

统计答题结果并评价
统计答题结果并评价

至此,一个完善的Scratch百科测验小应用就创作好了,赶紧试一试吧,你可以添加更多的问题和答案,让测验题更加丰富和有趣。

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏
分享
评论 抢沙发
diamondwang的头像-51scratch

昵称

取消
昵称表情代码图片