Scratch猜单词大赛
2021-09-08陈新龙
陈新龙
学校的英语老师和我聊到这样一个问题,孩子们对学习英语的热情是有的,但是对于单词记忆却提不起兴趣,总想着能够边学边玩。小陈老师想到用Scratch做一个“猜单词大赛”的游戏,帮助孩子们快速记住单词。
游戏流程:我们可以创建一个单词列表文本将需要背诵的单词每行一个都存到文本中,游戏开始前将其导入单词列表中。游戏开始后,系统随机从列表中抽取一个单词,抽取单词后会打乱单词原本的字母顺序。将打乱的字母显示在屏幕上,用户根据打乱字母猜出原正确的单词,如果單词拼写正确,显示回答正确,如果单词拼写错误,显示回答错误。
编程思路:开始编写代码前,我们要理清大体思路。1.在列表中定义单词的列表。2.从列表中挑选出一个单词。3.将挑选出的单词打乱顺序,这是程序难点。4.将打乱顺序的字母通过造型变化在舞台输出,这也是程序难点。5.判断用户输入单词与原单词是否一致并给出结果。代码难点在于对字符串的操作,方法可能不止一种,大家也可以在这个代码的基础上优化。
首先创建“单词列表”用来存放输入需要背诵的单词内容,这里我随机输入了一些普通的单词,用户可以自定义后导入。
游戏开始后,随机从“单词列表”中提取出某项的编号,设置成“原单词”,也就是我们所说的挑选出的单词。为了获取单词的长度,将“原单词长度”设为原单词的字符数。通过循环的方式将原单词按照顺序提取原单词每一个字母存入“打乱前列表”中。由于目前单词是按照顺序排列所以我们要打乱单词的顺序,增加一个自制积木“打乱单词顺序”。
重复执行原单词的长度,通过随机数的方式在打乱前的列表中提取一项存入“打乱列表”中,提取成功后,“打乱列表”中新增加一项,之后将“打乱前列表”中对应项减少一项。注意,每次循环“打乱前列表”中的项数会减少一,同理对于“原单词长度”也要减少一。
我们要创建含有26个英文字母造型的角色,这需要自己手动在造型中增加。当接收到显示字母的消息时,确定字母的位置,通过循环把打乱单词的字母克隆出来,每一次克隆后将X坐标增加50,然后换成对应序号的造型。在显示字母的时候我们需要注意一些小的细节,比如说字母之间的间距或者是字母的显示方式等等。
当然最后检测单词拼写就很简单了,判断用户输入的单词和“原单词”是否一致,如果一致显示拼写正确,如果不一致,显示拼写错误。现在的程序还不够完美,点击绿旗只能执行一次,你需要增加一个循环状态让程序一直处于待命状态。
通过学习本次猜单词的小游戏,能够让我们更加深刻了解字符串的提取和拼接操作。我们不仅仅需要理解积木块背后的意义,更要学会编程思路。不断尝试挑战是否有更加简单快捷的方法。