在四級的考級中,接龍的題目雖然在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,然后運用???????
進行拼接操作最終組合成詢問的命令,
就完成這道題目了。
整合代碼: