陳新龍
學(xué)校的英語老師和我聊到這樣一個問題,孩子們對學(xué)習(xí)英語的熱情是有的,但是對于單詞記憶卻提不起興趣,總想著能夠邊學(xué)邊玩。小陳老師想到用Scratch做一個“猜單詞大賽”的游戲,幫助孩子們快速記住單詞。
游戲流程:我們可以創(chuàng)建一個單詞列表文本將需要背誦的單詞每行一個都存到文本中,游戲開始前將其導(dǎo)入單詞列表中。游戲開始后,系統(tǒng)隨機(jī)從列表中抽取一個單詞,抽取單詞后會打亂單詞原本的字母順序。將打亂的字母顯示在屏幕上,用戶根據(jù)打亂字母猜出原正確的單詞,如果單詞拼寫正確,顯示回答正確,如果單詞拼寫錯誤,顯示回答錯誤。
編程思路:開始編寫代碼前,我們要理清大體思路。1.在列表中定義單詞的列表。2.從列表中挑選出一個單詞。3.將挑選出的單詞打亂順序,這是程序難點(diǎn)。4.將打亂順序的字母通過造型變化在舞臺輸出,這也是程序難點(diǎn)。5.判斷用戶輸入單詞與原單詞是否一致并給出結(jié)果。代碼難點(diǎn)在于對字符串的操作,方法可能不止一種,大家也可以在這個代碼的基礎(chǔ)上優(yōu)化。
首先創(chuàng)建“單詞列表”用來存放輸入需要背誦的單詞內(nèi)容,這里我隨機(jī)輸入了一些普通的單詞,用戶可以自定義后導(dǎo)入。
游戲開始后,隨機(jī)從“單詞列表”中提取出某項的編號,設(shè)置成“原單詞”,也就是我們所說的挑選出的單詞。為了獲取單詞的長度,將“原單詞長度”設(shè)為原單詞的字符數(shù)。通過循環(huán)的方式將原單詞按照順序提取原單詞每一個字母存入“打亂前列表”中。由于目前單詞是按照順序排列所以我們要打亂單詞的順序,增加一個自制積木“打亂單詞順序”。
重復(fù)執(zhí)行原單詞的長度,通過隨機(jī)數(shù)的方式在打亂前的列表中提取一項存入“打亂列表”中,提取成功后,“打亂列表”中新增加一項,之后將“打亂前列表”中對應(yīng)項減少一項。注意,每次循環(huán)“打亂前列表”中的項數(shù)會減少一,同理對于“原單詞長度”也要減少一。
我們要創(chuàng)建含有26個英文字母造型的角色,這需要自己手動在造型中增加。當(dāng)接收到顯示字母的消息時,確定字母的位置,通過循環(huán)把打亂單詞的字母克隆出來,每一次克隆后將X坐標(biāo)增加50,然后換成對應(yīng)序號的造型。在顯示字母的時候我們需要注意一些小的細(xì)節(jié),比如說字母之間的間距或者是字母的顯示方式等等。
當(dāng)然最后檢測單詞拼寫就很簡單了,判斷用戶輸入的單詞和“原單詞”是否一致,如果一致顯示拼寫正確,如果不一致,顯示拼寫錯誤。現(xiàn)在的程序還不夠完美,點(diǎn)擊綠旗只能執(zhí)行一次,你需要增加一個循環(huán)狀態(tài)讓程序一直處于待命狀態(tài)。
通過學(xué)習(xí)本次猜單詞的小游戲,能夠讓我們更加深刻了解字符串的提取和拼接操作。我們不僅僅需要理解積木塊背后的意義,更要學(xué)會編程思路。不斷嘗試挑戰(zhàn)是否有更加簡單快捷的方法。