資訊內(nèi)容
【高級案例教程】歡樂古詩猜猜猜,Scratch幫你實現(xiàn)
“爆竹聲中一歲除,
春風(fēng)送暖入屠蘇?!?
……
這些從小背過的古詩詞你還記得嗎?
猜古詩可能是大家小時候經(jīng)常玩的游戲吧
今天教你在Scratch中實現(xiàn)。
今日案例適合具有一定基礎(chǔ)的學(xué)員學(xué)習(xí)。
“爆竹聲中一歲除,春風(fēng)送暖入屠蘇
”
《歡樂猜詩》
1
作品描述
-
本作品目的是讓孩子們在富有趣味的氛圍中學(xué)習(xí)詩詞。
-
當點擊開始時會隨機生成文字方陣,必須按照一定的順序點擊文字方陣,才能過關(guān)。
-
本作的完成還是挺有難度的,希望同學(xué)們勇于挑戰(zhàn),徹底理解里面的編程技巧和算法思路,然后做出讓自己都覺得超棒的作品!
你需要先了解這些知識點:
【隨機數(shù)】結(jié)合隨機數(shù)代碼塊,含義是在某個數(shù)的范圍內(nèi),任意選擇一個數(shù),在本次教程案例中指1-16之間任意的一個數(shù)。
【鏈表】舉個例子,變量就像一個抽屜,我們可以往里面放東西也可以拿東西出來,鏈表就好像一個大柜子,這個柜子里有很多按順序排列的抽屜,我們可以往柜子里的某個抽屜放東西和拿東西。
【變量】保存數(shù)據(jù)的盒子
【克隆體】類似于孫悟空的毫毛分身術(shù)或者影分身術(shù),每個克隆體雖然跟本體完全一樣,但是可以有不同的動作
2
作品教程
角色造型是用PPT進行設(shè)計,詩來自王安石(宋)的《元日》。
1、創(chuàng)建角色和游戲背景
新建背景,可以使用你喜歡的背景圖片。
別看作品角色只有一個,秘密就在于造型有17個(1個空白造型、14個文字、2個干擾造型)。
【提示】
這里有個小訣竅,使用PowerPoint快速設(shè)計造型,另存為PNG圖片,導(dǎo)入到角色造型中。

2、生成隨機數(shù)鏈表
為生成有16個數(shù)字,且順序隨機的鏈表,我們可以借助臨時數(shù)這個變量。
首先初始化鏈表隨機數(shù)和變量臨時數(shù),重復(fù)執(zhí)行16次將數(shù)字隨機插入鏈表中。
【提示】
這里使用明為“隨機數(shù)”的柜子,這個柜子有16個抽屜,我們把1到16隨機放到這些抽屜里。
3、初始化鏈表X坐標
通過觀察,我們可以發(fā)現(xiàn)文字方陣排列是有規(guī)律的,以X坐標為例,它可以分成4行,每行有4個克隆體,相鄰克隆體間橫向距離約為115。
聰明的同學(xué)就可以巧妙利用這樣的規(guī)律,得到一行克隆體的數(shù)據(jù),像這樣重復(fù)4次,不就快速得到所有克隆體X坐標啦,從而大大減少積木塊的使用。
【提示】
這里又用了2個鏈表,用于存放16個克隆體的坐標,只是把X坐標和Y坐標放在2個不同的柜子里。

4、 初始化鏈表Y坐標
文字方陣Y坐標的分布,也是有規(guī)律的,每行里的4個克隆體,Y坐標都是一樣的,每往下一行,Y坐標就減少大約85。
如果我們發(fā)現(xiàn)了規(guī)律,就能通過重復(fù)執(zhí)行快速得將數(shù)據(jù)寫入鏈表。

5、初始化角色
對角色進行初始化設(shè)置,同學(xué)們可以根據(jù)喜好設(shè)置角色大小、造型、位置等,然后進行游戲說明,為整個游戲的運行打下良好基礎(chǔ)。

6、生成克隆體
為高效進行游戲,我們要使用神奇的克隆功能,對角色重復(fù)克隆16次,生成文字方陣所需要的克隆體,然后隱藏本體。
在這里,變量臨時數(shù)的作用變了,它將在后面的程序中繼續(xù)發(fā)揮重大作用。

7、初始化克隆體
這部分是對克隆體進行初始化,并對程序的運行進行判斷。
當克隆體啟動時,首先要初始化,并按變量臨時數(shù)的順序,切換到對應(yīng)的造型編號,然后按順序移到X坐標鏈表和Y坐標鏈表對應(yīng)的位置。
為了使交互性更好,同學(xué)們可以設(shè)置克隆體碰到鼠標指針就改變造型大小,直到14個字全部猜對,再刪除剩余克隆體,表示游戲已經(jīng)結(jié)束。

8、邏輯判斷部分
這個部分可就厲害了,是作品的核心判斷程序,當某個克隆體被點擊,如果它的造型編號等于正確的文字順序,那么它就會消失并將猜對字數(shù)增加1,如果猜錯就播放聲音。
【提示】
同學(xué)們看懂了嗎,例如我們已依次點擊了前兩個字“爆竹”,這時猜對了2個字,變量猜對字數(shù)就等于2,那么只有點擊第3個字,即造型為“聲”、造型編號為3的克隆體,才是正確的,這時只有這個克隆體被點擊才會消失,并將猜對字數(shù)增加1。

4
創(chuàng)意來源
創(chuàng)意來源于過年時布置學(xué)生參加網(wǎng)易卡搭“為新年加碼”活動,(點擊閱讀原文,進入新年活動專題)我自己也動手設(shè)計了一個新年主題的原創(chuàng)作品,這個教程內(nèi)容屬于當時作品的一部分。
作品主要作為一種范例,希望能讓學(xué)生通過作品教程,學(xué)到一些算法思維,然后繼續(xù)完善這個范例,或者進行創(chuàng)新改造。
5
反思創(chuàng)新
這個作品并非完整的游戲,只是想作為案例,希望能引發(fā)大家的討論和思考,讓它的價值延伸得更遠。
我們可以有更多的思考,例如:
-
文字方陣的位置編排有沒有不同的實現(xiàn)方法。
-
如果要設(shè)置更多的詩句,作品是不是有更好的呈現(xiàn)方式。
-
如果以這個案例進行課堂教學(xué),課時數(shù)如何設(shè)置。
這個案例只是我無心撿到的“磚”,希望能和大家多多交流,從而收獲Scratch趣味編程中更多的“玉”。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
