陳新龍

學校的英語老師和我聊到這樣一個問題,孩子們對學習英語的熱情是有的,但是對于單詞記憶卻提不起興趣,總想著能夠邊學邊玩。小陳老師想到用Scratch做一個“猜單詞大賽”的游戲,幫助孩子們快速記住單詞。
游戲流程:我們可以創建一個單詞列表文本將需要背誦的單詞每行一個都存到文本中,游戲開始前將其導入單詞列表中。游戲開始后,系統隨機從列表中抽取一個單詞,抽取單詞后會打亂單詞原本的字母順序。將打亂的字母顯示在屏幕上,用戶根據打亂字母猜出原正確的單詞,如果單詞拼寫正確,顯示回答正確,如果單詞拼寫錯誤,顯示回答錯誤。
編程思路:開始編寫代碼前,我們要理清大體思路。1.在列表中定義單詞的列表。2.從列表中挑選出一個單詞。3.將挑選出的單詞打亂順序,這是程序難點。4.將打亂順序的字母通過造型變化在舞臺輸出,這也是程序難點。5.判斷用戶輸入單詞與原單詞是否一致并給出結果。代碼難點在于對字符串的操作,方法可能不止一種,大家也可以在這個代碼的基礎上優化。

首先創建“單詞列表”用來存放輸入需要背誦的單詞內容,這里我隨機輸入了一些普通的單詞,用戶可以自定義后導入。
游戲開始后,隨機從“單詞列表”中提取出某項的編號,設置成“原單詞”,也就是我們所說的挑選出的單詞。為了獲取單詞的長度,將“原單詞長度”設為原單詞的字符數。通過循環的方式將原單詞按照順序提取原單詞每一個字母存入“打亂前列表”中。由于目前單詞是按照順序排列所以我們要打亂單詞的順序,增加一個自制積木“打亂單詞順序”。

重復執行原單詞的長度,通過隨機數的方式在打亂前的列表中提取一項存入“打亂列表”中,提取成功后,“打亂列表”中新增加一項,之后將“打亂前列表”中對應項減少一項。注意,每次循環“打亂前列表”中的項數會減少一,同理對于“原單詞長度”也要減少一。
我們要創建含有26個英文字母造型的角色,這需要自己手動在造型中增加。當接收到顯示字母的消息時,確定字母的位置,通過循環把打亂單詞的字母克隆出來,每一次克隆后將X坐標增加50,然后換成對應序號的造型。在顯示字母的時候我們需要注意一些小的細節,比如說字母之間的間距或者是字母的顯示方式等等。

當然最后檢測單詞拼寫就很簡單了,判斷用戶輸入的單詞和“原單詞”是否一致,如果一致顯示拼寫正確,如果不一致,顯示拼寫錯誤?,F在的程序還不夠完美,點擊綠旗只能執行一次,你需要增加一個循環狀態讓程序一直處于待命狀態。

通過學習本次猜單詞的小游戲,能夠讓我們更加深刻了解字符串的提取和拼接操作。我們不僅僅需要理解積木塊背后的意義,更要學會編程思路。不斷嘗試挑戰是否有更加簡單快捷的方法。