需求:通过编写一个简易的九九乘法问答程序,理解变量、问答和广播。
我刚开始本想编写一个输出九九乘法表的程序,以便能够练习循环、克隆和对象的相对位置。最后决定先做一个乘法问答小程序。
适用对象:适合有一定初步Scratch编程经验的学员,例如八、九岁的孩子。在老师的指引下,学员能独立完成大部分功能,用时约3小时。
九九乘法问答思路:
1)点击魔术师出题,系统从1-9随机选择两个数,并且相乘,得到答案。
2)魔术师显示被乘数、乘于的操作符、乘数、等于,然后显示问号。
3)魔术师随机询问,答案是多少,显示录入框。
4)用户录入答案。系统判断用户录入是否和系统计算一致;
i.一致:隐藏问号,显示录入的值;显示正确打钩角色;
ii.不一致: 隐藏问号,显示录入的值;显示错误打钩角色。
5)用户点击“查看答案”按钮。
a.系统显示“正确答案”标签;
b.在旁边显示正确答案。这样用户可以将自己录入的值和系统答案相比较。
变量设置
定义四个变量,均为全局变量。
X:被乘数
Y:乘数
R:系统结算结果
Input:用户回答录入的值
2. 魔术师角色
1)初始化:隐藏输入和结果变量。初始化变量值。
2)当角色被点击时:
a.隐藏结果和录入变量
b.随机选择1-9数字,并存入X
c.随机选择1-9数字,并存入Y
d.计算结果:X * Y, 并且写入到结果变量R中
e.广播“显示问号”。问号角色收到以后,就显示问号。
f.询问答案,并等待用户回答。用户需要录入答案。
g.用户录入答案确定以后
i.将用户录入的值写入Input变量。
ii.如果回答正确(Input = R),则广播“对”。打钩的角色收到后,显示打钩。
iii.如果回答错误(Input <> R),则广播“错”。错误标识的角色收到后,显示错误标识。
iv.显示用户录入的变量Input。
3. 显示答案角色(Answer)
1)当这个按钮被点击时,广播两个消息:隐藏问号、显示“正确答案”的标签、显示答案变量。
2)问号角色收到后隐藏问号。其实之前如果用户有录入的话,已经会隐藏掉,显示用户实际录入的值了。
4. “正确”角色
1)收到回答正确的广播时,显示。
2)收到回答错误的广播时,隐藏。
3)收到显示问号时,即出题完毕,也要隐藏。
5. “正确答案”标签角色
4)这是一个标签,标签是一个图“正确答案”。
5)程序开始时隐藏。
6)点击魔术师出题时会隐藏;点击“Answer”按钮显示答案时会显示。
6、后续改进
1)增加难易程度按钮,高中低三挡。选择高,则从20-99随机;选择中,则从10-19随机;选择低,从1-9随机。
2)将用户录入的值,按照图片角色的形式显示出来。因为显示变量的样式是固定的,过于简单,通过显示图片,可以实现各种效果。
阿童木人工智能专注于3-18岁孩子的机器人、编程、创客等教育,提供品牌合作,希望自己的教学理念得到传播,惠及到更多的孩子,专注于培养面向未来的人才。更多信息请关注阿童木人工智能公号。