Scratch——第18课 列表接龙问题
在四级的考级中,接龙的题目虽然在CIE中只出现过两次,但是这类题目对字符串的知识点考察相对全面。
一、接龙游戏的判断方法
接龙的内容对应的字符数 ?= 已接龙内容的字符数
满足条件=>接龙内容的第一个字符数 ?= 上一项接龙的最后一个字符
满足条件=>询问并输入接龙的内容
不满足条件=>游戏结束
不满足条件=>游戏结束
二、词语接龙往年考题
1.(CIE-202106)词语接龙
小猫从“中国"开始岀题,以“国”字开头接下一个词语,如果输入的不是两字词语或者输入的词语不是以“国”开头,游戏结束。
1.准备工作
(1)保留舞台默认白色背景及小猫角色;
(2)建立名为“词语接龙”的列表。
2.功能实现
(1)点击绿旗,将中国加入到列表后,小猫询问“中国,请输出以“国”开头的词语”;
(2)输入词语,如果用户输入的不是两字词语或者词语不以“国”开头,就说“游戏结束”,否则将正确的词语加入列表;
(3)继续询问,例如如果第2步输入的是“国家”,小猫继续询问“国家,请输入以“家”开头的词语”,依次类推,直到游戏结束。
解题思路:
第①步:创建列表,对列表进行初始化,并将中国加入到列表
第②步:按照接龙的游戏规则,需要先判断输入的内容字符数是否等于中国的字符数,在此之前,需要通过输入框进行内容的输入,需要运用到询问的命令,对得到的“回答”变量字符数与中国的字符数进行判断
第③步:因为询问的时候,需要以“中国,请输出以“国”开头的词语”这种格式,这时候,就需要引入变量了,变量的操作是用于定位目前所在的序号项,接着,设置它的初始值
第④步:判断完字符数之后,需要判断接龙内容的第一个字符是否等于上一项内容的第二个字,这一步是最为关键的,,为什么代码这么操作呢?首先左边的内容,列表的第序号项的第2个字符,我们刚才已经插入了中国,那么就是判断回答的第一个字符是否为国,如果我们待会接龙成功了,随着项目数的增加,序号跟着增加,就能定位到列表第二项的第二个字符,将两个条件组合起来
,那么判断条件就写完了。
第⑤步:写完判断条件,接着我们需要对对应的判断结果做出的内容进行代码的编写,不满足条件最简单了,直接说出“游戏结束”,然后程序结束即可
第⑥步:那如果满足条件,需要将内容插入列表中,,接着继续进行询问的操作,询问的格式是:如果第2步输入的是“国家”,小猫继续询问“国家,请输入以“家”开头的词语”,这时,列表已经有第二项了,那么序号需要增加1,然后运用
进行拼接操作最终组合成询问的命令,
就完成这道题目了。
整合代码:
2.(CIE-202109)成语接龙
小猫从“一鸣惊人"开始岀题,以“人”字开头接下一个成语,如果输入的不是四字成语或者输入成语的第一个字不是上一个成语的最后一个字,游戏结束。
1.准备工作
(1)保留舞台默认白色背景及小猫角色;
(2)建立名为“词语接龙”的列表。
2.功能实现
(1)点击绿旗,将“一鸣惊人”加入到列表后,小猫询问“一鸣惊人,请输出以“人”开头的四字成语”;
(2)输入成语,如果用户输入的不是四个字或者输入不匹配的词语时,就说“游戏结束”,否则将正确的成语加入列表;
(3)继续询问,例如如果第2步输入的是“人山人海”,小猫继续询问“人山人海,请输入以“海”开头的四字成语”,依次类推,直到游戏结束。
解题思路:
第①步:创建列表,对列表进行初始化,并将一鸣惊人加入到列表
第②步:按照接龙的游戏规则,需要先判断输入的内容字符数是否等于一鸣惊人的字符数,在此之前,需要通过输入框进行内容的输入,需要运用到询问的命令,对得到的“回答”变量字符数与一鸣惊人的字符数进行判断
第③步:因为询问的时候,需要以“一鸣惊人,请输出以“人”开头的词语”这种格式,这时候,就需要引入变量了,变量的操作是用于定位目前所在的序号项,接着,设置它的初始值
第④步:判断完字符数之后,需要判断接龙内容的第一个字符是否等于上一项内容的第二个字,这一步是最为关键的,,为什么代码这么操作呢?首先左边的内容,列表的第序号项的第4个字符,我们刚才已经插入了一鸣惊人,那么就是判断回答的第一个字符是否为人,如果我们待会接龙成功了,随着项目数的增加,序号跟着增加,就能定位到列表第二项的第四个字符,将两个条件组合起来
,那么判断条件就写完了。
第⑤步:写完判断条件,接着我们需要对对应的判断结果做出的内容进行代码的编写,不满足条件最简单了,直接说出“游戏结束”,然后程序结束即可
第⑥步:那如果满足条件,需要将内容插入列表中,,接着继续进行询问的操作,询问的格式是:如果第2步输入的是“人山人海”,小猫继续询问“人山人海,请输入以“海”开头的词语”,这时,列表已经有第二项了,那么序号需要增加1,然后运用
进行拼接操作最终组合成询问的命令,
就完成这道题目了。
整合代码: