上次课,我们通过对字符串变量进行随机插入,实现了一个修正单词拼写或成语拼写的游戏。然而单词或成语必须事先在程序里面确定而且单一,显然这不符合实际应用需求,我们希望在每一次运行过程中,应该有不同的单词随机出现。
这些大量的单词或成语该如何存储呢?
用变量?变量,可以存储单一的值,但要存储一系列的多个变量就力不从心了。虽然,我们也可以建立很多个变量,但是,访问这诸多变量,是一件很麻烦的事情。如果要存储100个单词,想象一下定义100个变量的编程工作量吧!
在很多程序语言中,都提供了访问同种属性的数据结构。所有具有相同属性的值,按着顺序整合在一起,共同占据一块存储空间,这在scratch中就是链表。
链表就是存放许多变量的容器。为了获取链表中的变量,我们可以指定变量在链表中的位置,或者叫索引,通过它,可以对容器中每一个变量的值进行添加、删除、修改,读取等操作。
新建一个链表,命名为学号,则会显示可供链表操作的积木,如图所示。
一个班级学生的所有信息,学号、姓名、年龄、身高、体重、各科成绩,都可以通过链表进行存储和读取。
有同学立刻提出疑问,这不就是Excel吗?直接用Excel不就可以了吗?
不错,Excel是一款功能强大的表格数据操作软件,它可以更方便地完成课堂上的寻找最大值、最小值、平均值等等这些我们在scratch中需要一句句编程实现的功能。
然而,Excel这些看似简单的功能正是一句句代码封装后的结果。也就是说,我们正在做的正是各种应用软件最基本的工作,Scratch会更小粒度地去告诉计算机该如何执行任务。这也正是Scratch编程与机器人编程的区别之一。
将大量的单词如“painting exciting lovely expensive cheap slow fast robot guide....”或成语如“卧薪尝胆胆小怕事事不过三三人成虎虎豹豺狼狼子野心心口不一一字千金金榜题名名不副实实至名归归心似箭箭不虚发发扬光大大义灭亲亲密无间间见层出出神入化化险为夷夷为平地地广人稀...”通过链表输入到备选词列表,一个词汇量丰富的修正拼写项目,就可以完美地新鲜出炉了。
链表的强大功能无法一一尽述,让我们在后续的项目实战中,一点点发掘,一点点充实吧。
领取专属 10元无门槛券
私享最新 技术干货