Scratch教程_入门(二十三)——链表运用

Scratch中的数据功能包含变量和链表,我们在之前课程中也用到过变量功能,在一些场景中是必须用到的,也是极为实用的。然而有些场景需要用到多个变量的时候,一个一个地新建变量也不实际,非常浪费时间,这个时候链表的作用就出来了。链表就是变量的组合,就像程序里的数组,也可以理解为装修中用到的打钉抢,打一下出一个。

链表是可以存放很多变量的程序数组,在这个数组里面可以进行添加删减里面的变量,也可以插入变量或者查询变量。我们来看看下图关于链表积木的解释:

file

我们在舞台中也可以给链表直接增加或者删减变量值,非常直观:

file

在咖啡色长条框内可以随意输入不同的变量值,这样我们就不需要新增一个一个变量了,只需要做一个链表即可。

我们来做一个报数的例子,比如小朋友刚学数字的时候,连续报1到7的数字。

file

我们新建一个a变量,再建一个链表1,在链表1中输入1到7的变量值,我们可以看到每个变量值都对应着左边的索引值,a变量就是为了选取不同的索引值而建的。重复执行链表的长度,也就是把链表里面的数组都执行,说链表里面索引值(变量a)对应的变量值2秒,说完再把变量a增加1,代表下一次说的是下一个索引值对应的变量。由此可以实现报数的功能。

我们还可以用到搜索查找的功能,比如老师想要知道一个班里面有没有小红这个人,就可以用到下面这种方式来查找:

file

首先我们建立一个名单链表,把班上同学的名字都输入进去,然后新建一个变量(名字)。当绿色旗帜点击开始的时候,将名字变量设定为1,代表从第一个索引值开始,重复执行名单长度次数,也就是把全班的名字都搜索一遍。如果名单链表里面有小红这个名字变量,那么说名单中有小红,否则将名字变量增加1,继续往下一个索引值查找。就像下面的动图一样:

file

舞台中的链表也很清晰的可以看到,从索引值1到7都查找了一遍,也顺利的找到了小红的名字。

小结

链表的功能非常强大,熟练运用链表能够解决更为复杂的程序编写。链表也还有很多不同的作用,比如帮助会计记录账单、帮助老师输入学生成绩,还可以在一些重复运用的角色动作中用到。

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代