【scratch3-植物大战系列】— 僵尸的比赛(4)

Scratch 少儿编程 348浏览 0评论
植物大战僵尸系列

友情提示:视频教程观看时请手动设置清晰度。

 为了让各个选手都知道自己的情况,我们引入一个重要的模块–变量,用来存放各自的分数。

开始之前,我们先来了解一下什么是变量,这个可是编程里面最重要的概念哦。

 

01

 

什么是变量

 

变量的定义:

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言中,变量可能是不可变的。

是不是不太明白呀,那我们来点通俗的讲法:

比如大家新到一个地方的时候,想找个好吃的饭店,但是你对这方面不太了解,所以,你就问了你的一个当地朋友什么地方吃饭比较地道,他告诉你:燕归楼最好。

 

那他为什么不直接说这家饭店的地址,光明路马头街125号呢?

 

最大的原因是方便,这家饭店在当地肯定是远近闻名,只需要提一下名字,任何人都知道它在哪,口碑如何,它有什么特点,能满足我什么需求。

如果说出具体的地址,反而让人不知道那里是哪里,也不太好记。

 

更重要的是,万一哪一天,饭店所在这条街道的名称改变了,那按地址去找谁也找不到

所以当地朋友只告诉我饭店的名称,我立马就可以通过问路人或者查电子地图,轻松知道它目前具体的位置。

 

而变量,就扮演这样一种角色。而变量名就像这个饭店名–燕归楼,它存储了这个饭店的一些信息:地址,口碑之类的。

【scratch3-植物大战系列】--- 僵尸的比赛(4)

那么在Scratch3中,变量又是一种什么形态呢,它分为两种类型:

【scratch3-植物大战系列】--- 僵尸的比赛(4)

  • 适用于所有角色—公有变量

  • 仅适用于当前角色—私有变量

前者顾名思义是说这个变量所有人都可以来访问,就好像上文提到的饭店,客人们都可以进出,而里面的东西,比如饭菜会根据客人的增加而减少,收入会根据客人的增加而增加。

后者好比是是我们自己家,只有你自己才能进入,里面的东西只有你自己才可以改变。

 

所以,如果你自己家的菜要给其他人吃,要先把菜端给饭店,然后由饭店给其他人吃或者给到其他人家里(另外一个角色(私有)变量)。

 

有没有理解,没有的话,我们实际来操作一下吧。

 

02

记录选手们的分数

这里会用到下面这些积木:

【scratch3-植物大战系列】--- 僵尸的比赛(4)

点击“建立一个变量”按钮,我们就能新建一个变量,让我们来给普通僵尸选手建立一个得分变量吧,我们取名叫:js的比分

【scratch3-植物大战系列】--- 僵尸的比赛(4)

 

按照这种方法,大家给其他三位选手都设置一下各自的变量,记住,要选择“仅适用于当前角色”选项噢。

03

完整的过程

接下来我们来设定一下比赛的规则:

  • 每次点击绿旗,会开始5轮的比赛

  • 每轮比赛的第一名会得到5分,其他人只得1分;

  • 5轮比赛完成后,大家都报一下自己的分数;

【scratch3-植物大战系列】--- 僵尸的比赛(4)

 

后面内容都比较类似,所以,就把各个选手对应的脚本贴出来,大家自己核对一下。

【scratch3-植物大战系列】--- 僵尸的比赛(4)

【scratch3-植物大战系列】--- 僵尸的比赛(4)

【scratch3-植物大战系列】--- 僵尸的比赛(4)

【scratch3-植物大战系列】--- 僵尸的比赛(4)

【scratch3-植物大战系列】--- 僵尸的比赛(4)

从几个选手的脚本图上看,我们充分利用了广播的申请功能,在配合变量存储和传递的作用,实现了我们需要的内容。

 

最后看一下效果。

 

【scratch3-植物大战系列】--- 僵尸的比赛(4)

 

PS:由于微信对gif有了限制,所以,截断了中间的3轮比赛。

 

经过对比赛的讲解,基本熟悉了常用模块的作用。那么后面我们将根据植物大战僵尸这款游戏,基本还原游戏的画面。

 

完整脚本将会在下一篇放出,如果有疑问,欢迎大家在下方留意。

转自公众号:
浩浩学编程

您必须 登录 才能发表评论!