极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

【高级案例教程】欢乐古诗猜猜猜,Scratch帮你实现

极客小将2021-04-11-
“爆竹声中一岁除, 春风送暖入屠苏。” …… 这些从小背过的古诗词你还记得吗? 猜古诗可能是大家小时候经常玩的游戏吧 今天教你在Scratch中实现。 今日

“爆竹声中一岁除,

春风送暖入屠苏。”

……

这些从小背过的古诗词你还记得吗?

猜古诗可能是大家小时候经常玩的游戏吧

今天教你在Scratch中实现。

今日案例适合具有一定基础的学员学习。

爆竹声中一岁除,春风送暖入屠苏

https://cdn.china-scratch.com/timg/180423/1J1025319-0.gif

《欢乐猜诗》

1

作品描述

  • 本作品目的是让孩子们在富有趣味的氛围中学习诗词。

  • 当点击开始时会随机生成文字方阵,必须按照一定的顺序点击文字方阵,才能过关。

  • 本作的完成还是挺有难度的,希望同学们勇于挑战,彻底理解里面的编程技巧和算法思路,然后做出让自己都觉得超棒的作品!

你需要先了解这些知识点:

【随机数】结合随机数代码块,含义是在某个数的范围内,任意选择一个数,在本次教程案例中指1-16之间任意的一个数。

upload/article/images/2021-04-11/52ec3c51ef54ab1d74b496980209e31d.jpg

【链表】举个例子,变量就像一个抽屉,我们可以往里面放东西也可以拿东西出来,链表就好像一个大柜子,这个柜子里有很多按顺序排列的抽屉,我们可以往柜子里的某个抽屉放东西和拿东西。

【变量】保存数据的盒子

【克隆体】类似于孙悟空的毫毛分身术或者影分身术,每个克隆体虽然跟本体完全一样,但是可以有不同的动作

2

作品教程

角色造型是用PPT进行设计,诗来自王安石(宋)的《元日》。

1、创建角色和游戏背景

新建背景,可以使用你喜欢的背景图片。

别看作品角色只有一个,秘密就在于造型有17个(1个空白造型、14个文字、2个干扰造型)。

【提示】

这里有个小诀窍,使用PowerPoint快速设计造型,另存为PNG图片,导入到角色造型中。

upload/article/images/2021-04-11/b9dce598c23a340597ddffa919808f4a.jpg

2、生成随机数链表

为生成有16个数字,且顺序随机的链表,我们可以借助临时数这个变量。

首先初始化链表随机数和变量临时数,重复执行16次将数字随机插入链表中。

【提示】

这里使用明为“随机数”的柜子,这个柜子有16个抽屉,我们把1到16随机放到这些抽屉里。

upload/article/images/2021-04-11/a1a17b512540eacbc0ec80c0d1a2a47a.jpg

3、初始化链表X坐标

通过观察,我们可以发现文字方阵排列是有规律的,以X坐标为例,它可以分成4行,每行有4个克隆体,相邻克隆体间横向距离约为115。

聪明的同学就可以巧妙利用这样的规律,得到一行克隆体的数据,像这样重复4次,不就快速得到所有克隆体X坐标啦,从而大大减少积木块的使用。

【提示】

这里又用了2个链表,用于存放16个克隆体的坐标,只是把X坐标和Y坐标放在2个不同的柜子里。

upload/article/images/2021-04-11/9884b4d674871574caeb5a6e74fcb2d7.jpg

4、 初始化链表Y坐标

文字方阵Y坐标的分布,也是有规律的,每行里的4个克隆体,Y坐标都是一样的,每往下一行,Y坐标就减少大约85。

如果我们发现了规律,就能通过重复执行快速得将数据写入链表。

upload/article/images/2021-04-11/d36063d9b48bf2d664cd2c0c603f2dfa.jpg

5、初始化角色

对角色进行初始化设置,同学们可以根据喜好设置角色大小、造型、位置等,然后进行游戏说明,为整个游戏的运行打下良好基础。

upload/article/images/2021-04-11/72ed58499ba89a1ca2aac8e4b2110d0d.jpg

6、生成克隆体

为高效进行游戏,我们要使用神奇的克隆功能,对角色重复克隆16次,生成文字方阵所需要的克隆体,然后隐藏本体。

在这里,变量临时数的作用变了,它将在后面的程序中继续发挥重大作用。

upload/article/images/2021-04-11/837aa67d66e520c8263ff8f8059a18c8.jpg

7、初始化克隆体

这部分是对克隆体进行初始化,并对程序的运行进行判断。

当克隆体启动时,首先要初始化,并按变量临时数的顺序,切换到对应的造型编号,然后按顺序移到X坐标链表和Y坐标链表对应的位置。

为了使交互性更好,同学们可以设置克隆体碰到鼠标指针就改变造型大小,直到14个字全部猜对,再删除剩余克隆体,表示游戏已经结束。

upload/article/images/2021-04-11/77ba6a03fcd7908c601a3798ad23aa7b.jpg

8、逻辑判断部分

这个部分可就厉害了,是作品的核心判断程序,当某个克隆体被点击,如果它的造型编号等于正确的文字顺序,那么它就会消失并将猜对字数增加1,如果猜错就播放声音。

【提示】

同学们看懂了吗,例如我们已依次点击了前两个字“爆竹”,这时猜对了2个字,变量猜对字数就等于2,那么只有点击第3个字,即造型为“声”、造型编号为3的克隆体,才是正确的,这时只有这个克隆体被点击才会消失,并将猜对字数增加1。

upload/article/images/2021-04-11/5593cc55de3687cccfc8d84160b6acd1.jpg

4

创意来源

创意来源于过年时布置学生参加网易卡搭“为新年加码”活动,(点击阅读原文,进入新年活动专题)我自己也动手设计了一个新年主题的原创作品,这个教程内容属于当时作品的一部分。

作品主要作为一种范例,希望能让学生通过作品教程,学到一些算法思维,然后继续完善这个范例,或者进行创新改造。

5

反思创新

这个作品并非完整的游戏,只是想作为案例,希望能引发大家的讨论和思考,让它的价值延伸得更远。

我们可以有更多的思考,例如:

  • 文字方阵的位置编排有没有不同的实现方法。

  • 如果要设置更多的诗句,作品是不是有更好的呈现方式。

  • 如果以这个案例进行课堂教学,课时数如何设置。

这个案例只是我无心捡到的“砖”,希望能和大家多多交流,从而收获Scratch趣味编程中更多的“玉”。


声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...