資訊內(nèi)容
第6課奇趣故事——鏈表和字符串
第6課奇趣故事——鏈表和字符串
任務(wù)導(dǎo)航
笑話和幽默給我們的生活帶來了樂趣,利用隨機(jī)現(xiàn)象產(chǎn)生的奇妙效果會(huì)產(chǎn)生一種意想不到的奇趣故事,跟隨老師來體驗(yàn)一下,一定會(huì)給你留下難忘的印象。
如圖6.1所示本來很正常的三個(gè)故事,怎么放在鏈表“奇趣故事”里面就變得很奇怪?同學(xué)們,這才叫奇趣故事。思考一下源代碼是如何制作的吧。

圖6.1 奇趣故事
任務(wù)分析
奇趣故事的創(chuàng)作主要是利用Scratch中新建鏈表,可以采用變量中的“新建一個(gè)鏈表”功能新建“人物”、“地點(diǎn)”和“事件”三個(gè)鏈表,如圖6.2所示。使用代碼

可以在空白鏈表中增添數(shù)據(jù),使用代碼

可以說任意一個(gè)人物。

圖6.2人物”、“地點(diǎn)”和“事件”三個(gè)鏈表
Follow Me
1. 創(chuàng)建鏈表并添加數(shù)據(jù)
第1步:單擊指令模塊區(qū)的“變量”按鈕,單擊“新建一個(gè)鏈表”,在彈出的對話框中填寫鏈表的名稱“人物”,然后單擊“確定”按鈕,完成鏈表“人物”的創(chuàng)建,如圖6.3所示。
圖6.3 創(chuàng)建鏈表“人物”
第2步:給鏈表“人物”添加數(shù)據(jù),如圖6.4所示。
| ② 輸入數(shù)據(jù) |
圖6.4 給鏈表“人物”添加數(shù)據(jù)
第3步:以此類推,創(chuàng)建“地點(diǎn)”和“事件”兩個(gè)鏈表,并添加數(shù)據(jù),如圖6.5所示。

圖6.5 創(chuàng)建完成的三個(gè)鏈表
2. 程序設(shè)計(jì)
第1步:說奇趣故事。按照表6.1中給出的思路,嘗試完成“說奇趣故事”部分的腳本設(shè)計(jì)。
表6.1 “說奇趣故事”的設(shè)計(jì)思路
想法 | 模塊 | 腳本 |
| 按下空格鍵開始講故事 | ![]() | ![]() |
| 說出鏈表“人物”中的任意數(shù)據(jù)并等待1秒,再說出鏈表“地點(diǎn)”中的任意數(shù)據(jù)并等待1秒,最后說出鏈表“事件”中的任意數(shù)據(jù)并等待1秒 | ![]() |
第2步:把各種奇趣故事存下來。按照表6.2中給出的思路,嘗試完成“保存奇趣故事”部分的腳本設(shè)計(jì)。
表6.2 “保存奇趣故事”的設(shè)計(jì)思路
想法 | 模塊 |
| 點(diǎn)擊角色開始添加故事 | ![]() |
| 三個(gè)鏈表中的數(shù)據(jù)合并成一個(gè)字符串 | ![]() |
| 將合并后的字符串加入奇趣故事的鏈表存儲 | ![]() |
腳本 | |
![]() | |
智多星
保存奇趣故事時(shí),需要搭建字符串連接的復(fù)合模塊,分為以下幾個(gè)步驟。
首先,將

腳本塊插入

模塊第一個(gè)空里,再將

插入第2個(gè)空里,得到一個(gè)復(fù)合模塊

。然后再一次用

模塊,將復(fù)合模塊插入第一個(gè)空里,將

插入第2個(gè)空里,得到

最后,將合并好的字符串?dāng)?shù)據(jù),插入到

第一個(gè)空里。
想一想
完成設(shè)計(jì)后,自己來玩一玩,覺得好笑嗎?你還發(fā)現(xiàn)了什么新問題?有什么新思考?
1. 角色一邊說一邊表演動(dòng)作。
2.
3.
你能給角色設(shè)計(jì)新的腳本,解決以上問題嗎?
【DIY】
繪制角色,使得故事更有趣,通過詢問功能,增添數(shù)據(jù)庫的內(nèi)容,使奇趣故事添加更多的奇趣效果。提問回答建立數(shù)據(jù)庫的設(shè)計(jì)思路見圖6.3。
表6.3提問回答建立數(shù)據(jù)庫的設(shè)計(jì)思路
想法 | 模塊 | 腳本 |
| 按下“↑”開始添加數(shù)據(jù) | ![]() | ![]() |
| 詢問人物,將回答加入人物鏈表,再詢問地點(diǎn),將回答加入地點(diǎn)鏈表,最后詢問事件,將回答加入事件鏈表。 | ![]() ![]() |
學(xué)生分組表演情境,用DV將學(xué)生趣味短劇錄制下來。
奇趣故事可以看作是一個(gè)游戲,至此我們已經(jīng)初步地掌握了Scratch的一般技巧,可以編寫一些小游戲。在Scratch中,選擇打開選擇例子中的Games,察看系統(tǒng)自帶程序中的例子,可以自學(xué)一下其中的代碼,編寫一些小游戲,在本書的第13課會(huì)有一個(gè)數(shù)碼游戲展,到時(shí)候期望可以展出一些同學(xué)們自己的作品。

圖6.6 打開系統(tǒng)自帶游戲作品分析其中的代碼
【知識著陸】
代碼:鏈表,鏈表的增添數(shù)據(jù),引用鏈表的任意項(xiàng),詢問回答
技巧:使用字符串操作連接字符,用新的鏈表記錄結(jié)果
【創(chuàng)作天地】
- 設(shè)計(jì)一個(gè)表演活動(dòng),讓每個(gè)同學(xué)扮演一個(gè)人物,然后表演一遍正常情節(jié)的故事,最后再按照奇趣故事來臨場表演,一定會(huì)非常有趣。
- 給你的奇趣故事增添時(shí)間鏈表
- 如果背景能夠伴隨著地點(diǎn)變換那一定很有趣,但是可能比較難,你試一試好么?
- 詢問指令可以用來建立數(shù)據(jù)庫,比如記錄學(xué)生的姓名,性別,年齡,評價(jià)等級的數(shù)據(jù)庫
視野拓展
點(diǎn)擊Scratch主頁中的討論區(qū),你就進(jìn)入了Scratch論壇,如同6.1所示

圖6.1 Scratch論壇
你可以使用網(wǎng)頁翻譯工具將論壇轉(zhuǎn)換為中文如圖6.2所示。

網(wǎng)頁翻譯
翻譯后你就可以更加順暢地瀏覽Scratch論壇了

翻譯后的頁面
Scratch論壇提供中文分論壇,這里也是交流學(xué)習(xí)的好地方,此外國內(nèi)的一些QQ群也是學(xué)習(xí)的好地方,你都可以通過搜索找到最適合你的學(xué)習(xí)方式。
- 上一篇
第5課色辨成音——如果結(jié)構(gòu)和廣播指令
第5課色辨成音——如果結(jié)構(gòu)和廣播指令【任務(wù)導(dǎo)航】上次課我們將《歡樂頌》轉(zhuǎn)換成了一幅畫,如圖5.1所示,那么我們能不能將這幅圖轉(zhuǎn)換回歡樂頌?zāi)兀繄D5.1 歡樂頌轉(zhuǎn)換為聲音任務(wù)分析 圖5.1所示,建立一個(gè)黑色方塊,大小比色塊要小,讓她作為一個(gè)新的角色識別大
- 下一篇
第7課 酷我劇場——時(shí)序控制
第7課 酷我劇場——時(shí)序控制 任務(wù)導(dǎo)航電影是綜合了美術(shù)、音樂和戲劇的綜合藝術(shù)形式,我們可以通過編寫程序,兼編劇、導(dǎo)演、演員、美工于一身,現(xiàn)在我們就來學(xué)習(xí)如何通過控制各個(gè)人物的出場時(shí)間和行為來制作一場視聽盛宴吧,如










