大家好,我是一個(gè)四眼長(zhǎng)腿的爸爸,專注于機(jī)器人編程(樂(lè)高EV3,Arduino)和兒童編程(Scratch,Python,Swift)!
前幾篇文章描述了下載安裝、界面操作、指令腳本和幾個(gè)簡(jiǎn)單的scratch軟件的例子。相信大家對(duì)scratch軟件的基本操作和腳本編寫都沒(méi)有問(wèn)題。從這篇文章開(kāi)始,我們將描述每款游戲的設(shè)計(jì)原理和思路分析,引導(dǎo)大家透過(guò)事物看到本質(zhì),遇到問(wèn)題如何思考、設(shè)計(jì)、實(shí)現(xiàn)。(游戲編程系列文章側(cè)重于游戲的設(shè)計(jì)原理,寫作思路清晰。有許多編程方法來(lái)實(shí)現(xiàn)這些想法。這里用scratch完成腳本編寫,可以嘗試使用其他編程語(yǔ)言和軟件。)
迷宮游戲
首先,我們來(lái)看看游戲的運(yùn)行界面。
設(shè)計(jì)思想&代碼編寫
1.迷宮的游戲界面是一個(gè)圖片,可以從網(wǎng)站上生成,下載到這個(gè)機(jī)器上備用。(百度搜索迷宮生成器)
2.導(dǎo)入預(yù)先下載的迷宮圖片作為游戲的背景圖片。
在背景頁(yè)面,點(diǎn)擊“選擇”按鈕,用矩形框框住迷宮圖片,拖動(dòng)矩形框移動(dòng)到合適的位置。
3.點(diǎn)擊工具欄上的“縮小”按鈕,在小貓身上點(diǎn)擊鼠標(biāo)左鍵縮小到合適的大小,然后拖動(dòng)小貓移動(dòng)到迷宮入口。
4.在角色庫(kù)中選擇一個(gè)新角色(魚),點(diǎn)擊工具欄上的“縮小”按鈕,在魚身上點(diǎn)擊鼠標(biāo)左鍵縮小到合適的大小,拖動(dòng)魚移動(dòng)到迷宮出口。
5.按上下左右方向鍵時(shí)增加小貓的動(dòng)作腳本。按方向鍵的左鍵時(shí),小貓向右移動(dòng)3步,按方向鍵的上鍵時(shí)上移3步,按方向鍵的下鍵時(shí)下移3步。
好了,增加了上下左右方向鍵。讓我們點(diǎn)擊綠色的旗幟,看看跑步的效果。當(dāng)我們按下方向鍵的時(shí)候,小貓雖然可以動(dòng),但是有幾個(gè)問(wèn)題并不是我們想要的。1)小貓移動(dòng)時(shí),頭會(huì)朝下一會(huì)兒,朝上一會(huì)兒;2)在舞臺(tái)上可以隨意移動(dòng),遇到迷宮中的障礙物也可以穿越;3)在迷宮入口處,它可能不進(jìn)入迷宮,也可能從外圍繞過(guò)去。
6.每次表演前,將小貓?jiān)O(shè)置為面向右側(cè),出現(xiàn)在迷宮入口位置,并將旋轉(zhuǎn)模式設(shè)置為左右旋轉(zhuǎn)模式。小貓上下移動(dòng)時(shí),頭部方向不變,只有左右移動(dòng)時(shí),頭部方向才變。
7.當(dāng)小貓遇到迷宮障礙時(shí),之前設(shè)計(jì)的小貓移動(dòng)3步。如果移動(dòng)3步后發(fā)現(xiàn)小貓已經(jīng)通過(guò)障礙物(摸黑),那么我們可以讓小貓后退3步(移動(dòng)-3步)。這相當(dāng)于小貓不動(dòng)了嗎?
8.小貓?jiān)诿詫m入口處的位置是X坐標(biāo)60,Y坐標(biāo)-160。我們只能在入口處向上移動(dòng),所以我們可以根據(jù)小貓當(dāng)前的Y坐標(biāo)來(lái)判斷,只有當(dāng)Y坐標(biāo)的值大于等于-160時(shí),才可以使用向下鍵、向左鍵和向右鍵,這樣就可以控制小貓不繞過(guò)迷宮的外部。
9.迷宮游戲結(jié)束的勝利條件是小貓?jiān)诔隹谟龅叫◆~。我們不在乎小貓走什么迷宮路線,走多久。對(duì)于游戲來(lái)說(shuō),我們只需要在按下上、下、左、右方向鍵移動(dòng)后進(jìn)行判斷。如果小貓碰到小魚,小貓就會(huì)走出迷宮。這里我們讓小貓說(shuō)一句“我贏了!”來(lái)表示小貓贏了,游戲結(jié)束了。
好了,小貓的說(shuō)明都加了。讓我們點(diǎn)擊綠色的旗幟,看看跑步的效果。
10.從上圖的效果演示中,我們發(fā)現(xiàn)了另一個(gè)問(wèn)題。小貓遇到小魚說(shuō)我贏了之后,上、下、左、右鍵還能運(yùn)行,程序還在執(zhí)行。我們希望當(dāng)小貓遇到小魚的時(shí)候,游戲就結(jié)束了,任何一個(gè)按鈕都不能再移動(dòng)了,所以我們需要在按下綠色標(biāo)志的時(shí)候把上、下、左、右鍵的判斷放在指令塊里,而不是只按上、下、左、右鍵移動(dòng)。
11.最后,我們?cè)谟螒蛑屑尤胍粋€(gè)變量,叫做計(jì)時(shí),用來(lái)記錄玩家在迷宮中行走的時(shí)間。
12.計(jì)時(shí)動(dòng)作不屬于小貓或小魚。我們建議將這個(gè)全局變量放在舞臺(tái)的腳本中,每次點(diǎn)擊綠色標(biāo)志時(shí)將定時(shí)變量設(shè)置為0。
13.計(jì)時(shí)器的原理是每1秒鐘給數(shù)值加1。我們只需要重復(fù)執(zhí)行,等待1秒,定時(shí)變量加1的指令塊就ok了!
14.我們這里不需要單獨(dú)停止定時(shí)器,因?yàn)橹暗脑O(shè)計(jì)是上、下、左、右鍵按下,小貓遇到小魚就停止所有腳本,這里包含了定時(shí)器停止。
至此,迷宮游戲的所有腳本操作都已描述完畢。我們自己試試吧!
游戲編程系列課程中的所有文字和圖片均為四眼長(zhǎng)腿叔叔原創(chuàng),未經(jīng)授權(quán)不得轉(zhuǎn)載!
1.《scratch游戲 做游戲?qū)Wscratch少兒編程:手把手教你做迷宮游戲》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《scratch游戲 做游戲?qū)Wscratch少兒編程:手把手教你做迷宮游戲》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/guonei/797775.html