论文部分内容阅读
成语接龙是中华传统的文字游戏,有着悠久的历史和广泛的社会基础,是我国文字、文化、文明的一个缩影。传统的成语接龙的规则是用四个字的成语的最后一个字与下一句成语的第一个相同的字(音同也可以),首尾相接不断延长,形成长龙。在成语接龙中,第一句的成语称为龙头句,该成语的第一个字称为龙头字,首尾相接的字称为关节字。
讲了这么多关于成语接龙的知识,我们能不能做一个成语接龙的小游戏呢?答案是当然可以,让我们一起打开Scratch或者Mind+挑战一下吧。
传统的成语接龙需要前一个成语的最后一个字与后一个成语的第一个字的字形或字音相同,在使用Scratch实际编程时,因字音相同较难判定,为了编程方便,我们只要求字形相同就可以了。

这里肯定有人会好奇了,那么多成语如何拷入程序中呢?在Scratch中可以使用导入列表功能,新建一个文本文件,通过搜索查阅成语,将需要的成语以每行一个成语的形式保存。最后在Scratch新建一个列表,在列表中点击鼠标右键,选择导入成语文本,就会发现新建的列表中已经储存好成语词汇了。
接着随机从成语列表中挑选出第一个成语当作游戏的开始。游戏开始后根据提示用户需要输入正确的成语做出回答,当用户回答的成语包含在成语列表中并且输入成语的第一个字等于前一个成语的最后一个字,那么回答正确,可以继续接龙。如果成语首字错误并且在成语列表中没有相应的成语则自动判断为失败,由于成语列表的数据不够完善,游戏体验并不完美,这里大家也思考一下有没有更加完善的判断方法,期待你们更好的算法。
为了完善我们的游戏体验,这里多增加一个判断机制,在成语接龙中我们不允许重复的词语出现,比如:真真假假—假假真真—真真假假。为了避免这种重复我们需要增加判定的机制,新增加两个变量“项数”和“是否有答案”。“项数”作为列表的成语顺序默认等于1,“是否有答案”用于判断该成语是否多次使用过,默认情况下为“无”代表着一次都没有使用。

當用户输入的成语回答正确后,通过项数依次去查找成语是否在列表中,并且查看该成语是否已使用,如果成语没有使用,将成语是否有答案变量设置为“有”,代表着成语已经使用过了,不能再次使用,一旦用户再次输入同样的成语系统自动判断为游戏失败。
如此有意思的成语接龙游戏,还不自己动手做一个吗?期待你能收集一个足够丰富的成语数据库,并在原有代码基础上升级判定逻辑。
讲了这么多关于成语接龙的知识,我们能不能做一个成语接龙的小游戏呢?答案是当然可以,让我们一起打开Scratch或者Mind+挑战一下吧。
传统的成语接龙需要前一个成语的最后一个字与后一个成语的第一个字的字形或字音相同,在使用Scratch实际编程时,因字音相同较难判定,为了编程方便,我们只要求字形相同就可以了。

这里肯定有人会好奇了,那么多成语如何拷入程序中呢?在Scratch中可以使用导入列表功能,新建一个文本文件,通过搜索查阅成语,将需要的成语以每行一个成语的形式保存。最后在Scratch新建一个列表,在列表中点击鼠标右键,选择导入成语文本,就会发现新建的列表中已经储存好成语词汇了。
接着随机从成语列表中挑选出第一个成语当作游戏的开始。游戏开始后根据提示用户需要输入正确的成语做出回答,当用户回答的成语包含在成语列表中并且输入成语的第一个字等于前一个成语的最后一个字,那么回答正确,可以继续接龙。如果成语首字错误并且在成语列表中没有相应的成语则自动判断为失败,由于成语列表的数据不够完善,游戏体验并不完美,这里大家也思考一下有没有更加完善的判断方法,期待你们更好的算法。
为了完善我们的游戏体验,这里多增加一个判断机制,在成语接龙中我们不允许重复的词语出现,比如:真真假假—假假真真—真真假假。为了避免这种重复我们需要增加判定的机制,新增加两个变量“项数”和“是否有答案”。“项数”作为列表的成语顺序默认等于1,“是否有答案”用于判断该成语是否多次使用过,默认情况下为“无”代表着一次都没有使用。

當用户输入的成语回答正确后,通过项数依次去查找成语是否在列表中,并且查看该成语是否已使用,如果成语没有使用,将成语是否有答案变量设置为“有”,代表着成语已经使用过了,不能再次使用,一旦用户再次输入同样的成语系统自动判断为游戏失败。
如此有意思的成语接龙游戏,还不自己动手做一个吗?期待你能收集一个足够丰富的成语数据库,并在原有代码基础上升级判定逻辑。