【高级案例教程】欢乐古诗猜猜猜,Scratch帮你实现
“爆竹声中一岁除,
春风送暖入屠苏。”
……
这些从小背过的古诗词你还记得吗?
猜古诗可能是大家小时候经常玩的游戏吧
今天教你在Scratch中实现。
今日案例适合具有一定基础的学员学习。
“爆竹声中一岁除,春风送暖入屠苏
”《欢乐猜诗》
1
作品描述
-
本作品目的是让孩子们在富有趣味的氛围中学习诗词。
-
当点击开始时会随机生成文字方阵,必须按照一定的顺序点击文字方阵,才能过关。
-
本作的完成还是挺有难度的,希望同学们勇于挑战,彻底理解里面的编程技巧和算法思路,然后做出让自己都觉得超棒的作品!
你需要先了解这些知识点:
【随机数】结合随机数代码块,含义是在某个数的范围内,任意选择一个数,在本次教程案例中指1-16之间任意的一个数。
【链表】举个例子,变量就像一个抽屉,我们可以往里面放东西也可以拿东西出来,链表就好像一个大柜子,这个柜子里有很多按顺序排列的抽屉,我们可以往柜子里的某个抽屉放东西和拿东西。
【变量】保存数据的盒子
【克隆体】类似于孙悟空的毫毛分身术或者影分身术,每个克隆体虽然跟本体完全一样,但是可以有不同的动作
2
作品教程
角色造型是用PPT进行设计,诗来自王安石(宋)的《元日》。
1、创建角色和游戏背景
新建背景,可以使用你喜欢的背景图片。
别看作品角色只有一个,秘密就在于造型有17个(1个空白造型、14个文字、2个干扰造型)。
【提示】
这里有个小诀窍,使用PowerPoint快速设计造型,另存为PNG图片,导入到角色造型中。
2、生成随机数链表
为生成有16个数字,且顺序随机的链表,我们可以借助临时数这个变量。
首先初始化链表随机数和变量临时数,重复执行16次将数字随机插入链表中。
【提示】
这里使用明为“随机数”的柜子,这个柜子有16个抽屉,我们把1到16随机放到这些抽屉里。
3、初始化链表X坐标
通过观察,我们可以发现文字方阵排列是有规律的,以X坐标为例,它可以分成4行,每行有4个克隆体,相邻克隆体间横向距离约为115。
聪明的同学就可以巧妙利用这样的规律,得到一行克隆体的数据,像这样重复4次,不就快速得到所有克隆体X坐标啦,从而大大减少积木块的使用。
【提示】
这里又用了2个链表,用于存放16个克隆体的坐标,只是把X坐标和Y坐标放在2个不同的柜子里。
4、 初始化链表Y坐标
文字方阵Y坐标的分布,也是有规律的,每行里的4个克隆体,Y坐标都是一样的,每往下一行,Y坐标就减少大约85。
如果我们发现了规律,就能通过重复执行快速得将数据写入链表。
5、初始化角色
对角色进行初始化设置,同学们可以根据喜好设置角色大小、造型、位置等,然后进行游戏说明,为整个游戏的运行打下良好基础。
6、生成克隆体
为高效进行游戏,我们要使用神奇的克隆功能,对角色重复克隆16次,生成文字方阵所需要的克隆体,然后隐藏本体。
在这里,变量临时数的作用变了,它将在后面的程序中继续发挥重大作用。
7、初始化克隆体
这部分是对克隆体进行初始化,并对程序的运行进行判断。
当克隆体启动时,首先要初始化,并按变量临时数的顺序,切换到对应的造型编号,然后按顺序移到X坐标链表和Y坐标链表对应的位置。
为了使交互性更好,同学们可以设置克隆体碰到鼠标指针就改变造型大小,直到14个字全部猜对,再删除剩余克隆体,表示游戏已经结束。
8、逻辑判断部分
这个部分可就厉害了,是作品的核心判断程序,当某个克隆体被点击,如果它的造型编号等于正确的文字顺序,那么它就会消失并将猜对字数增加1,如果猜错就播放声音。
【提示】
同学们看懂了吗,例如我们已依次点击了前两个字“爆竹”,这时猜对了2个字,变量猜对字数就等于2,那么只有点击第3个字,即造型为“声”、造型编号为3的克隆体,才是正确的,这时只有这个克隆体被点击才会消失,并将猜对字数增加1。
4
创意来源
创意来源于过年时布置学生参加网易卡搭“为新年加码”活动,(点击阅读原文,进入新年活动专题)我自己也动手设计了一个新年主题的原创作品,这个教程内容属于当时作品的一部分。
作品主要作为一种范例,希望能让学生通过作品教程,学到一些算法思维,然后继续完善这个范例,或者进行创新改造。
5
反思创新
这个作品并非完整的游戏,只是想作为案例,希望能引发大家的讨论和思考,让它的价值延伸得更远。
我们可以有更多的思考,例如:
-
文字方阵的位置编排有没有不同的实现方法。
-
如果要设置更多的诗句,作品是不是有更好的呈现方式。
-
如果以这个案例进行课堂教学,课时数如何设置。
这个案例只是我无心捡到的“砖”,希望能和大家多多交流,从而收获Scratch趣味编程中更多的“玉”。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com