作品简介
今天给大家分享的Scratch作品是《数学男孩》,这是一款数学运算挑战游戏。
点击绿旗,启动程序,首先显示的游戏开始界面,点击下方的play按钮,进入游戏,在舞台的上方会随机出现一道算术题,有加法、减法、乘法和除法。同时,在舞台右方的小鸟开始向左飞行,玩家需要快速的算出答案,并在下方的四个选项中点击正确答案,如果回答正确,得分加1,同时小男孩挥棒发射武器击退小鸟,进而再随机下一道题,如果回答错误,小鸟加速前进直到碰到小男孩,如果小鸟碰到小男孩,则游戏结束,赶紧来挑战吧,看看谁的分数更高。
作品效果
Scratch数学男孩作品的完整效果如视频所示:
核心代码解读
Scratch数学男孩作品应有13个角色,如下图所示:

各主要角色功能和效果简要说明如下:
- 小鸟:随机出题后,小鸟就开始向小男孩飞过来,如果碰到小男孩,游戏结束,如果被武器击中,则小鸟消失;
- 小男孩:如果回答正确,小男孩就挥棒发射武器;
- 武器:当回答正确的时候,小男孩发射武器,武器击中小鸟,小鸟消失;
- 运算符:这里有+、-、x、/ 四种运算符,每次都是随机其中的一种;
- 答案选项:每道题都有4个选项,其中有且仅有一个正确选项,其它三项是干扰项。
在创作本作品中,有两大关键点:
- 如何随机出题,尤其是减法和除法的特殊性
- 怎么设置答案选项,确保有且仅有一个正确选项
接下来,就分别来介绍其编程实现过程。
1.随机出题
这里有+、-、x、/ 四种运算,在运算符角色中,有4个造型,如图所示:

因此,可以随机造型,然后根据造型,来确定是哪一种运算,其代码如下所示:

其中,加法和乘法没有限制,而减法和除法尤其特殊性,需要特殊处理,其中减法要确保不要出现负数情况,所以这里的“数字2”变量必须小于“数字1”,实现方法也很巧妙,就是先让数字1在1~100之间取随机数,然后让数字2在1~数字1之间取随机数,代码如下:

而除法,则要求必须能整除,所以需要进行判断,只有刚好能整除的算式才可以作为题目出现,其代码如下:

2.设置答案选项
题目出好之后,需要提供4个答案选项,其中有且仅有一个是正确选项,并且4个选项的顺序也是随机出现的,这是如何做到的呢?
其实也不难,先确定正确答案,再利用加法结合随机数,得到3个干扰答案,并将这些答案选项放到一个列表中,接着定义4个变量“答案1”、“答案2”、“答案3”、“答案4”分别表示4个答案选项,并从列表中随机获取答案选项即可,其代码如下:

如此一来,就可以确保4个答案选项是随机顺序的,同时有且仅有一个正确答案。
暂无评论内容