Scratch全国少儿编程竞赛获奖作品《时空穿越》解析下篇

本文介绍的作品是全国青少年创意编程与智能设计大赛创意编程比赛一等奖获得者江夷越同学的最新参赛作品。

作品说明

一位天才创造了许多发明,其中最强大的就是时空传送门,它一共有三个按钮,按下随机按钮即可进行时空旅行,进行时空穿越可以去到不同的时代哦,在时空穿越的途中会有什么奇遇发生呢?事不宜迟,马上开展你的冒险之旅吧。

正文

在上一篇文章中,我们学习了《时空穿越》游戏的前奏部分,天才科学家展示了他发明的飞毯与机器人,并且传送门也已经打开。

接下来,科学家就要走进传送门,我们需要选择不同的按钮将科学家传送到不同的朝代,去完成不同的任务,这两个任务果冻老师都会给大家介绍,所以按照顺序我们就点击A按钮让科学家先去唐代吧。

去唐代

接收去唐代广播的角色有三个:科学家、传送门和背景。

背景的代码很简单,它只是将背景切换成了唐代的古代市集:

科学家的动画呢分为两个部分,第一个部分是他从家里消失,第二个部分是他再从唐代出现。

当科学家接收到去唐代的广播后,第一步会向右移动进入传送门,接着他逐渐变小,最后消失,表示他已经被传送到另一个时空去了。当背景切换为唐代的场景之后,科学家会再次出现,逐渐的变大同时向上移动,当大小变为50后,再向下移动回到原来的位置,这让果冻老师想起了小时候看的电视剧西游记开头孙悟空从石头中蹦出来跳的老高的样子,厉害的角色都得有个炫酷的亮相,是不是呢?

科学家来到唐代之后,代码接着会判断是否已经收集到碎片,因为科学家还有可能是从另一个朝代穿越来的,他也许已经完成了一个任务了,所以这里根据碎片的数量不同科学家会说不同的台词。台词说完后,就该大诗仙李白登场了。

李白出场

接收李白出场广播的角色当然就是李白了:

他刚刚写好了一首诗从房间里出来,就遇到了穿越而来的科学家。

没想到科学家却对出了他刚刚写好的诗:

大诗仙李白可不是好糊弄的,他不相信科学家来自未来,于是就要考考我们的科学家,所以,对话完成后就会广播问答第一题。

问答第一题

挑战开始,当接收到问答第一题这个广播后,李白会朗读故人西辞黄鹤楼这句诗。

在这里,李白出题的时候没有使用说语句,而使用了询问语句,这两个语句的区别是什么呢?说语句说完就完了,而询问语句在说完文字框里的内容后,会在舞台区弹出一个输入框,我们需要输入一些文字并按下回车键后,输入框才会消失,而我们输入的文字会保存在回答这个语句中,后面就可以使用它进行判断或者其它操作了。

当李白读完故人西辞黄鹤楼这句诗后,就会等待我们对下一句,如果在输入框中填入了烟花三月下扬州,那么就答对了,于是就进入下一题,广播问答第二题。如果我们输入了其它的文字,不是烟花三月下扬州,那就答错了,诗仙李白会小小的鄙视你一下,然后重复问答第一题,直到我们回答正确为止。这种自己又广播自己的方法在程序开发中有一个专有的名字叫做递归,它是一种非常有用的编程技巧哦。

第二题、第三题、第四题的代码逻辑与第一题都是类似的,这里果冻老师就不贴出来了,大家可以自己下载源代码查看。

当四道题全部都被我们答对之后,李白终于相信科学家是来自未来的,他会认作科学家为兄弟,并且拿出珍藏的好酒一起品尝。

同时呢,科学家会收集到第一个回家的按钮碎片,并且将碎片这个变量的值增加1,要注意这个变量很重要,在游戏中会在各个地方判断这个变量的数值,根据它不同的值展开不同的剧情内容,在《垃圾分类》的文章中,我们介绍过变量的桥梁作用,这里的碎片变量也是一样的,它在游戏中用于判断我们是否收集齐了回家的碎片,大家要好好理解它哦。

这时候,科学家在唐代的挑战任务就完成了,传送门会再次打开,我们点击B按钮科学家会穿越到下一个朝代:宋朝。

去宋朝

与唐代的出场效果一样,科学家又向上蹦起来亮相了一下,不一样的是最后广播的内容不同。

由于时空穿越是非常消耗体力的,科学家到达宋朝的时候已经是饥肠辘辘饿的前胸贴后背了,而科学家却没有古代的钱币买吃的,这时,一个好心的古代人路过提出可以给科学家提供香喷喷的大包子,但是有一个条件就是要帮他去掉《清明上河图》上面的一个污点,科学家二话不说就答应了。

清明上河图

接收清明上河图广播的角色一共有五个:

首先,是角色11,也就是画卷,它从人物2的角色位置滑行到科学家的位置,模拟古代人将画卷交给科学家的过程。

然后,整个舞台区要切换成清明上河图的背景。

同时,我们要将污点(角色10)和去除污点的擦布(true角色)添加到清明上河图中。

污点的代码:

代码一开始,将污点的虚像效果设置为0,也就是说污点没有特效,是完全可见的,然后,重复执行判断污点是否碰到了擦布(true角色),如果碰到了就再重复执行100次,每次将虚像的效果增加1,重复执行玩后,污点的虚像特效就是100,这样,它就变成了完全透明的,污点也就被我们去除掉了。

那如何让擦布碰到污点呢?最简单的方法就是通过鼠标来移动擦布,同学们是否还记得在《垃圾分类》文章中是如何通过鼠标发射子弹击中垃圾的吗?这里擦布和子弹瞄准的原理是一样的,就是一直不停的重复执行让擦布移到鼠标指针的位置:

注意代码中设置了移到最前面的语句,意思是说擦布会显示在污点以及其它角色的上面,擦除污点当然是要盖住它再擦了,所以这条语句是必须要有的。

那污点的下面有什么呢?哈!是回家按钮的碎片,当我们使用擦布擦除污点后,藏在它底下的碎片就被我们发现了。

这下子,回家的两个碎片我们都找到了,太棒了!科学家穿越了两个朝代,经历了漫长的挑战,早已经归心似箭了,终于将碎片收集齐了,那就赶紧把它们拼起来吧。

碎片拼接好后,神奇的传送门会再次开启,科学家终于回到了自己的家中,穿越时空真的很有趣,但是也充满了危险,一不小心有可能就回不来了,所以,科学家做研究还是要严谨一些才好啊。游戏中回家的代码很简单,果冻老师就不再贴到这里了,同学们可以下载源代码后自己查看,这篇文章的内容也就结束了。

完成

江夷越同学的《时空穿越》作品到这里就介绍完了,作为一名1-3年级的小同学不能对他的技术要求过高,主要是要有想法和创意,江夷越同学将自己学过的语文古诗融合到了游戏中,既可以巩固课业知识又不缺少趣味性,同时游戏中涉及了变量和前移后移语句的使用,也体现了他较高的数学和编程技能,这说明通过学习编程和参加竞赛可以充分的提高学生的综合能力和科学素质。

相信同学们看了江夷越同学的作品后,结合自己学过的语文、数学、英语等知识,都会有新的想法,跃跃欲试了,那就快打开电脑开始编写你自己的作品吧。

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

Scratch全国少儿编程竞赛获奖作品《时空穿越》解析上篇

2023-8-6 10:36:05

综合资讯

Scratch全国少儿编程竞赛获奖作品解析《垃圾分类》上篇

2023-8-7 8:17:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索