澳门下载app送35元彩金大全,下载APP送36元彩金,下载app送8至88彩金

当前位置:首页 > 十堰市澳门下载app送35元彩金大全学校 > 特色教育 > 创客教育

链表的初级应用

日期:2020-02-13 20:28:00     

  

链表:在scratch里也翻译成列表。也是变量的一种,但是是一组变量。相当于一个队列。通常用在同一类的变量组。举个例子吧,比如今天天气如何?晴天?阴天?多云?雷阵雨?等等,这些就可以看成一组变量,因为都是描述天气的。再比如今天是星期几?周一到周日,7个变量,也可以看成有关周几的一组变量。这样的例子很多,比如都有哪几门功课?公园里都有哪些花?家里有哪些家具?这些都可以看成一组组的变量。

 

这么一解释,是不是小伙伴顿时豁然开朗,原来链表就是变量组呀,那用途是不是很广泛呢?当然我们也可以把变量组中的一个个变量拿出来定义成单独的变量,但是这样你就会发现有大量的重复编程的内容。

 

我们今天用一个例子来讲讲变量的用法,首先我们先解释一下链表的指令集。

 

 

老师创建了一个比赛的列表。第一条指令就是在列表的后面增加一个新的变量。第二条指令就是删除变量组的某一条变量。(选项里包含了末尾和全部的选项,也就是可以直接把整个列表链表清空)第三条指令是插入指令。就是在某一项前面插入一个变量(此处也有两个选项,可以插在末尾,可以随机插入某个位置)。第四条是替换掉某个变量,也就是先删除再插入了。(选项里也包括了末尾和随机两个选项)

 

 

这三条指令相当于参数的指令了。第一个是直接返回了链表中的某一项,第二个反馈整个链表有多少项。第三个是判断整个链表中是否包含某一项目。

 

整个看起来是不是很像最基本的数据库列表呀。

 

我们通过个小游戏来简单熟悉一下:我们在屏幕上画出三个轨道,让小猫们在这个三个跑道上随机的跑。

 

 

这个简单的小动画可以用很多方法实现,我们今天试试链表怎么用:

 

我们首先在屏幕上画三条赛道(就画三根线吧),然后我们创建一个赛道的列表,用来表示三条赛道的Y坐标。

 

如果变量内容简单,可以直接在创建链表的时候,直接把变量初始内容填上。点赛道变量表的左下角的小+号就可以添加变量。

 

当然如果变量有规律的话,也可以通过在程序里初始化阶段通过循环指令添加。这个大家可以自己研究。

 

程序分解:

1:不断的克隆小猫。

2:把每个克隆小猫出现的位置放在随机的赛道上。然后向右方跑。

 

第一部分的程序,很简单。

 

第二段程序:

 

左边的部分很简单,关键是选择赛道这条指令。这个是老师新建了个积木指令。指令里只有一条语句,就是设置Y坐标为赛道变量里面任意一项的值。(之所以采用新建一个选择赛道这样的指令是想大家养成一个好习惯,让编程更具可读性,和可管理性。习惯去把一组复杂的指令打包成一个指令,以后更加方便的编程和维护。

 

通过这个小例子,大家是不是对链表有些熟悉啦。

 

老师仔细在网上研究了一下关于链表的经典例子,其中有一个能非常好的学习链表的例子,就是如何取不重复的随机数。比如在1到10中任意选取五个不重复的随机数。

 

重复的随机数大家都会选,一条指令就做到了,那不重复的随机数呢?其实不重复的随机数应用很多,比如排雷的小游戏,你就不能把两颗雷放在同一位置,还有打比赛,随机抽取比赛队伍时,就不能一个队伍选两次。很多游戏里的随机选取都是不能重复的。

 

当然随机选取不重复的方法也有很多,比如把随机选取出来的数字与已经选取出来的数字做一一比对,如果重复再重新选取。

 

如果用链表的方法,效率就比较高:

1:从链表中任意选取一项。

2:将该项从链表中删除。

3:重复第一步。

 

是不是很简单,这样就不会有重复的选项了。这个小程序就留给大家自己去做了。

主办单位:十堰市澳门下载app送35元彩金大全学校 版权所有:十堰市澳门下载app送35元彩金大全学校

鄂ICP备06007886号-5 鄂公网安备 42030202000140号 技术支持:十堰政府网

学校地址:十堰市张湾区云南路22号

联系电话:0719-澳门下载app送35元彩金大全,下载APP送36元彩金,下载app送8至88彩金