陳新龍
今天我們就來重溫那曾經(jīng)風靡一時的小游戲——飛機大戰(zhàn)。現(xiàn)在微信小程序上依舊可以搜索到這個游戲,可見這款游戲的經(jīng)典。今天就用Scratch制作簡單的飛機大戰(zhàn)(如圖1)。
游戲的前期準備工作,包括了解飛機大戰(zhàn)的游戲規(guī)則和收集角色圖片。
首先分析游戲規(guī)則,游戲設置了血量和積分,用來增加游戲的體驗感和趣味性,初始的血量為100,積分為0。我方的飛機由鼠標或上下左右按鍵控制(程序中方便起見使用了鼠標控制)。我方飛機自動向前釋放子彈,擊中敵機或飛到屏幕邊緣消失。當游戲開始后,敵機隨機出現(xiàn),從頂部向下移動,我方飛機需要用子彈射擊或躲避敵機。敵機如果碰到子彈飛機消失并積分加一,如果敵機碰到我方飛機或者底部邊緣,血量減少,并且扣一積分。
游戲背景我們可以選擇一個天空的背景,可以畫一個天藍色背景。
你可以在“愛給(www.aigei.com)”素材網(wǎng)站中下載飛機和子彈的圖片素材(如圖2)。
作為實例程序,我們只制作飛機大戰(zhàn)的必要角色,角色分別為:
我方飛機:由鼠標控制
敵方飛機:隨機產(chǎn)生,可在一個角色中設置多個造型克隆時隨機變換,數(shù)量不限制,從上而下移動。
子彈:從我方飛機向上發(fā)射
我方飛機代碼:
我方飛機代碼很簡單,只需要設置血量、積分變量;在循環(huán)中一直執(zhí)行移動到鼠標指針的位置。為了能夠與子彈和敵機交互,這里設置了一個“廣播”:start用來控制子彈和敵方飛機(如圖3)。
子彈代碼:
當收到我方飛機的廣播通知后,我方飛機會持續(xù)發(fā)射子彈。這里對子彈使用了“克隆”,讓子彈可以無限發(fā)射(植物大戰(zhàn)僵尸中的豌豆射手也使用克隆發(fā)射子彈)。當克隆體啟動時,重復執(zhí)行循環(huán),每次將y坐標增加5,實現(xiàn)子彈從下往上飛的效果,這個數(shù)值越大子彈越快。執(zhí)行偵測判斷,當子彈碰到敵機或者飛到舞臺邊緣,刪除此克隆體(如圖4)。
敵方飛機代碼:
敵機的代碼和子彈類似,收到廣播通知后,也是重復執(zhí)行克隆自己。用隨機數(shù)賦值給x變量,控制克隆出來的飛機從不同的位置飛出來。接下來重復執(zhí)行y坐標減3的過程,實現(xiàn)敵機從上往下飛行的過程。執(zhí)行偵測判斷,當敵機碰到子彈,說明我方飛機擊中了敵機,積分加一。如果敵機飛出了舞臺邊緣或者敵機撞上了我方飛機,積分減一,且血量減少5(如圖5)。
這樣一個初級的飛機大戰(zhàn)游戲,編寫的難度并不大,大家完成之后可以想辦法附加些新功能,比如,敵機同樣可以增加子彈功能,這樣大大增加了游戲的可玩性。還可以增加倒計時功能,或者設置關卡。趕緊動起手來,完善飛機大戰(zhàn)的游戲吧。加油!