陳新龍
說起《黃金礦工》相信大家對這款益智類游戲不會陌生。玩家必須在規(guī)定的時間內(nèi)通過扔出爪子挖礦獲得資金,通過在商店購買道具來提升能力,不斷闖關(guān)。而且這款游戲最吸引人的地方不僅可以單人操作,還可以拉上你的小伙伴一起來玩雙人版。今天我們來挑戰(zhàn)一下用Scratch做個簡化版的黃金礦工。
1. 保留核心玩法
雖然完整版的游戲中有不少提升能力的道具和加分物品, 如金塊、鉆石、石頭、小豬、炸藥桶等,但游戲的核心是放出爪子抓黃金。通過觀察,綜合考慮Scratch語言本身的能力,提煉出游戲的核心玩法:初始狀態(tài)下爪子不斷旋轉(zhuǎn)擺動,點擊空格釋放出爪子,爪子上有繩子連接,碰到黃金或石頭回收,抓取不同物品分值不同。
2. 角色設(shè)置
首先通過對原游戲截圖處理,獲得礦工、爪子、石頭、黃金的圖片,將這些素材導(dǎo)入到Scratch中。我們已經(jīng)幫你處理好了,你可以掃碼在網(wǎng)盤下載。接下來將舞臺背景設(shè)置成紅色。設(shè)置成純色背景,除了個人喜好的原因外,主要還是受到了程序功能的限制——繩子只有在純色背景上運動時效果最自然。在設(shè)置顏色后要記下背景顏色的參數(shù),這個顏色會影響繩索的顏色。然后,調(diào)整爪子造型的中心位置,將中心放置在爪子的尾部作為旋轉(zhuǎn)點,這樣能夠保證爪子旋轉(zhuǎn)和釋放過程中不會偏離路線,如果測試時發(fā)生偏移可以回來調(diào)整爪子的中心點。
3. 黃金和石頭的代碼
我們先從代碼最簡單的黃金和石頭角色開始。程序開始運行后,收到廣播后用克隆的方法在舞臺中紅色區(qū)域內(nèi)隨機顯示三塊黃金和三塊石頭,這里要確定XY坐標的隨機范圍。當黃金或石頭角色碰到爪子角色時,需要黃金或石頭隨著爪子一起移動,這里直接循環(huán)使用“移到‘爪子”就可以實現(xiàn)了。當抓到的物品被挖礦工人成功拉上去后,根據(jù)物品的價值獲得相應(yīng)的分數(shù),每塊石頭獲得10分,每塊黃金獲得20分(圖1)。
4. 爪子的代碼
爪子的角色代碼更加復(fù)雜。首先實現(xiàn)爪子初始的左右搖擺,用嵌套循環(huán)來解決這個問題,角色面向右邊(-90)開始運動,一直重復(fù)向左旋轉(zhuǎn)2°×90=180°,然后再向右旋轉(zhuǎn)180°。由于這個狀態(tài)需要在游戲過程中重復(fù)出現(xiàn),所以使用自定義積木(圖2)。
接下來用畫筆完成繩子隨爪子伸長和回收的過程。當按下空格鍵后,使用“停止‘該角色的其他腳本”停止爪子的轉(zhuǎn)動,畫筆跟隨爪子畫線,畫筆顏色為粉色,在畫面中表現(xiàn)出的就是白色繩子的效果。如果爪子碰到了黃金(石頭或舞臺邊緣),先將畫筆顏色改為背景顏色紅色,在3秒鐘內(nèi)滑行回到起始位置,表現(xiàn)出緩慢收回的效果。其實繩子的回收是用紅色覆蓋掉粉色實現(xiàn)的效果,圖3中用黑色代替紅色你就能看清這個效果的本質(zhì)了。完成一次抓取后廣播“爪子搖擺”,讓爪子恢復(fù)左右搖擺的狀態(tài)(圖4)。
這樣,經(jīng)典的黃金礦工游戲的核心部分就完成了,還需要你完善判斷游戲的結(jié)束情況的代碼,再嘗試添加一個移動的小豬或者隨機的炸彈作為阻擋,提高游戲的難度。還可以給游戲設(shè)置倒計時,在規(guī)定的時間內(nèi),看看能獲得多少分數(shù),快來動手試試看吧。