貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂

貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂

ID:38721193

大?。?86.00 KB

頁(yè)數(shù):18頁(yè)

時(shí)間:2019-06-18

貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂_第1頁(yè)
貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂_第2頁(yè)
貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂_第3頁(yè)
貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂_第4頁(yè)
貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂_第5頁(yè)
資源描述:

《貪吃蛇游戲程序設(shè)計(jì),簡(jiǎn)單易懂》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、貪吃蛇游戲程序設(shè)計(jì)17貪吃蛇游戲設(shè)計(jì)一、設(shè)計(jì)任務(wù)貪吃蛇游戲程序設(shè)計(jì)二、設(shè)計(jì)目的通過(guò)對(duì)貪吃蛇游戲的設(shè)計(jì),來(lái)將所學(xué)的C語(yǔ)言知識(shí)運(yùn)用,從而達(dá)到鞏固知識(shí)靈活運(yùn)用知識(shí)的目的,實(shí)現(xiàn)理論與實(shí)際的結(jié)合。三、設(shè)計(jì)思路分析(1)游戲規(guī)則在一個(gè)四周都用“磚”圍起來(lái)的空間里,空間里隨機(jī)出現(xiàn)一個(gè)食物,食物出現(xiàn)的位置必須在圍墻內(nèi),且出現(xiàn)的位置不能與蛇的位置重合。然后操作者通過(guò)上下左右鍵來(lái)控制蛇吃掉食物,蛇每吃掉一個(gè)食物,自己的長(zhǎng)度就增加一節(jié),同時(shí)游戲分?jǐn)?shù)增加10分。蛇吃到食物后,系統(tǒng)又隨機(jī)產(chǎn)生另一個(gè)新的食物。若蛇在運(yùn)動(dòng)過(guò)程中,撞到墻或碰到

2、自己的身體,則立刻結(jié)束游戲,否則繼續(xù)進(jìn)行。(2)蛇的運(yùn)動(dòng)17此程序的關(guān)鍵就在于蛇的移動(dòng)。游戲在進(jìn)入界面后,在沒(méi)有執(zhí)行任何操作的情況下,蛇沿著原來(lái)的方向以某一速度前行。若蛇在水平方向上前行,操作者按向左或向右的鍵,此時(shí)該指令判為無(wú)效,蛇繼續(xù)沿著原來(lái)水平的方向前行。同樣的道理,若蛇在豎直的方向上前行,操作者按向上或向下的鍵,此時(shí)該指令也判為無(wú)效,蛇繼續(xù)沿著原來(lái)豎直的方向前行。若蛇在運(yùn)動(dòng)過(guò)程中,操作者按下了有效的鍵后,首先應(yīng)確定蛇頭的位置,然后蛇的身體隨著蛇頭而運(yùn)動(dòng)。在新的蛇頭確定的那一瞬間,蛇看上去好像比之前多了一

3、節(jié),為了不出現(xiàn)這樣的情況,在新的蛇頭出現(xiàn)的時(shí)候,就應(yīng)該用程序的背景顏色將蛇尾遮蓋掉。這樣看起來(lái),既實(shí)現(xiàn)了蛇的轉(zhuǎn)向,又不會(huì)使蛇無(wú)緣無(wú)故的多一節(jié)。所以,在游戲的整個(gè)界面中,共有兩個(gè)結(jié)構(gòu)體----食物與蛇。(3)流程圖開(kāi)始否是否是否是繼續(xù)按原來(lái)方向前行按照指令方向前行輸入指令?結(jié)束退出界面蛇死亡?是否吃到食物?蛇身變長(zhǎng)一節(jié)隨機(jī)產(chǎn)生另一個(gè)食物蛇開(kāi)始沿原來(lái)初始的方向前行初始化界面初始化蛇的位置,蛇的長(zhǎng)度17四、程序模塊化思想分析整個(gè)程序主函數(shù)主要由四大部分構(gòu)成:圖形驅(qū)動(dòng),開(kāi)始畫(huà)面,玩游戲的具體過(guò)程,圖形結(jié)束。//****

4、*************************************voidmain()//主函數(shù){Init();//圖形驅(qū)動(dòng)DrawK();//開(kāi)始畫(huà)面GamePlay();//玩游戲的具體過(guò)程Close();//圖形結(jié)束}//*****************************************所以只要分塊完成對(duì)應(yīng)的程序,然后把各個(gè)部分的程序連起來(lái)就可以了。(一)圖形的驅(qū)動(dòng)圖形的驅(qū)動(dòng),首先是由detectgraph通過(guò)檢測(cè)硬件確定圖形驅(qū)動(dòng)程序和模式,然后把自動(dòng)測(cè)試硬件的結(jié)果賦給圖形驅(qū)動(dòng)器。

5、不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據(jù)顯示器適配器種類將顯示器設(shè)置成為某種圖形模式,在未設(shè)置圖形模式之前,微機(jī)系統(tǒng)默認(rèn)屏幕為文本模式(80列,25行字符模式),此時(shí)所有圖形函數(shù)均不能工作。再由initgraph()函數(shù),根據(jù)測(cè)試結(jié)果初始化圖形。17//***************************************************voidInit()//圖形驅(qū)動(dòng){intgd=DETECT;//gd=DETECT

6、把自動(dòng)測(cè)試硬件的結(jié)果賦給圖形驅(qū)動(dòng)器intgm;//圖形模式initgraph(&gd,&gm,"");//根據(jù)測(cè)試結(jié)果初始化圖形cleardevice();//清除圖形屏幕}//****************************************************(一)開(kāi)始畫(huà)面畫(huà)面的開(kāi)始也就是畫(huà)墻,其中要規(guī)定圍墻的范圍坐標(biāo)。要設(shè)置“磚”的形狀顏色,分?jǐn)?shù)的背景顏色。setbkcolor函數(shù)用指定的顏色值來(lái)設(shè)置當(dāng)前的背景色,如果指定的顏色值超出了當(dāng)前設(shè)備的表示范圍,則設(shè)置為最近似的、設(shè)備可以表示的

7、顏色。setcolor?圖形屏幕函數(shù)設(shè)置前景顏色,也就是“磚”的顏色(BLACK黑BLUE蘭GREEN綠CYAN青RED紅MAGENTA洋紅BROWN棕LIGHTGRAY淡灰DARKGRAY深灰LIGHTBLU淡蘭WHITE白LIGHTGREEN淡綠LIGHTCYAN淡青LIGHTMAGENTA淡洋紅LIGHTRED淡紅YELLOW黃)。17rectangle(intleft,inttop,intright,intbottom)函數(shù)畫(huà)矩形來(lái)做圍墻,(left,top)為矩形的左上坐標(biāo),(right,bottom

8、)為矩形的右下坐標(biāo),兩者可確定一個(gè)矩形的大小setlinestyle函數(shù)設(shè)置當(dāng)前畫(huà)線寬度和類型,也就是“磚”的線條的形狀(PS_SOLID畫(huà)筆畫(huà)出的是實(shí)線PS_DASH畫(huà)筆畫(huà)出的是虛線PS_DOT畫(huà)筆畫(huà)出的是點(diǎn)線PS_DASHDOT畫(huà)筆畫(huà)出的是點(diǎn)劃線PS_DASHDOTDOT畫(huà)筆畫(huà)出的是點(diǎn)-點(diǎn)-劃線)。//****************************************

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。