Scratch小游戲——黃金礦工

文/陳新龍
說起《黃金礦工》相信大家對這款益智類游戲不會陌生。玩家必須在規(guī)定的時間內(nèi)通過扔出爪子挖礦獲得資金,通過在商店購買道具來提升能力,不斷闖關(guān)。而且這款游戲最吸引人的地方不僅可以單人可以操作,還可以拉上你的小伙伴一起來玩雙人版。今天我們來挑戰(zhàn)一下用Scratch做個簡化版的黃金礦工。
?
1.?保留核心玩法
雖然完整版的游戲中有不少提升能力的道具和加分物品:金塊、鉆石、石頭、小豬、炸藥桶等,但游戲的核心是放出爪子抓黃金。通過觀察,綜合考慮Scratch語言本身的能力,提煉出游戲的核心玩法:初始狀態(tài)下爪子不斷旋轉(zhuǎn)擺動,點(diǎn)擊空格釋放出爪子,爪子上有繩子連接,碰到黃金或石頭回收,抓取不同物品分值不同。
2.?角色設(shè)置
首先通過對原游戲截圖處理,獲得礦工、爪子、石頭、黃金的圖片,將這些素材導(dǎo)入到Scratch中。我們已經(jīng)幫你處理好了,你可以掃碼在網(wǎng)盤下載。第二,接下來將舞臺背景設(shè)置成紅色。設(shè)置成純色背景,除了個人喜好的原因外,主要還是受到了程序功能的限制——繩子只有在純色背景上運(yùn)動時效果最自然。在設(shè)置顏色后要記下背景顏色的參數(shù),這個顏色會影響繩索的顏色。第三,調(diào)整爪子造型的中心位置,將中心放置在爪子的尾部作為旋轉(zhuǎn)點(diǎn),這樣能夠保證爪子旋轉(zhuǎn)和釋放過程中不會偏離路線,如果測試時發(fā)生偏移可以回來調(diào)整爪子的中心點(diǎn)。
3.?黃金和石頭的代碼
我們先從代碼最簡單的黃金和石頭角色開始。程序開始運(yùn)行后,收到廣播后用克隆的方法在舞臺中紅色區(qū)域內(nèi)隨機(jī)顯示三塊黃金和三塊石頭,這里要確定XY坐標(biāo)的隨機(jī)范圍。當(dāng)黃金或石頭角色碰到爪子角色時,需要黃金或石頭就隨著爪子一起移動,這里直接循環(huán)使用“移到‘爪子’”就可以實(shí)現(xiàn)了。當(dāng)抓到的物品被挖礦工人成功拉上去后,根據(jù)物品的價值獲得相應(yīng)的分?jǐn)?shù),每塊石頭獲得10分,每塊黃金獲得20分(圖1)。
?

4.?爪子的代碼
爪子的角色代碼更加復(fù)雜。首先實(shí)現(xiàn)爪子初始的左右搖擺,用嵌套循環(huán)來解決這個問題,角色面向右邊(-90)開始運(yùn)動,一直重復(fù)向左旋轉(zhuǎn)2°×90=180°,然后再向右旋轉(zhuǎn)180°。由于這個狀態(tài)需要在游戲過程中重復(fù)出現(xiàn),所以使用自定義積木(圖2)。
?

?
接下來用畫筆完成繩子隨爪子伸長和回收的過程。當(dāng)按下空格鍵后,使用“停止‘該角色的其他腳本’”停止爪子的轉(zhuǎn)動,畫筆跟隨爪子畫線,畫筆顏色為粉色,在畫面中表現(xiàn)出就是白色繩子的效果。如果在爪子碰到了黃金(石頭或舞臺邊緣),先將畫筆顏色改為背景顏色紅色,在3秒鐘內(nèi)滑行回到起始位置,表現(xiàn)出緩慢收回的效果。其實(shí)繩子的回收是用紅色覆蓋掉粉色實(shí)現(xiàn)的效果,圖3中用黑色代替紅色你就能看清這個效果的本質(zhì)了。完成一次抓取后廣播“爪子搖擺”,讓恢復(fù)左右搖擺的狀態(tài)(圖4)。
?


這樣經(jīng)典的黃金礦工游戲的核心部分就完成了,還需要你完善判斷游戲的結(jié)束情況的代碼,再嘗試添加一個移動的小豬或者隨機(jī)的炸彈作為阻擋,提高游戲的難度。還可以給游戲設(shè)置倒計(jì)時時間,在規(guī)定的時間內(nèi),看看能獲得多少分?jǐn)?shù),快來動手試試看吧。