資源描述:
《C語言課程設(shè)計(jì)報(bào)告——貪吃蛇源程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、C語言課程設(shè)計(jì)(小游戲貪吃蛇的程序設(shè)計(jì)報(bào)告)設(shè)計(jì)人:班級(jí):201年月號(hào)目錄一:概述1:研究背景及意義2:設(shè)計(jì)的任務(wù)與需要知識(shí)點(diǎn)3:具體完成設(shè)計(jì)內(nèi)容二:需求分析1:功能需求2:操作方法三:總體設(shè)計(jì)1:模塊劃分2:數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)四:詳細(xì)設(shè)計(jì)1:主空摸塊設(shè)計(jì)2:繪制游戲界面3:游戲的具體過程4:游戲的結(jié)束處理5:顯示排行榜信息模塊五:程序的調(diào)試與測試1:動(dòng)畫與音樂同步2:蛇的運(yùn)行3:終止程序六:結(jié)論七::結(jié)束語八:程序清單九:參考文獻(xiàn)一.概述本課程設(shè)計(jì)以軟件工程方法為指導(dǎo),采用了結(jié)構(gòu)化,模塊化的程序設(shè)計(jì)方法,以C語言技術(shù)為基礎(chǔ),使用TurboC++3.0
2、為主要開發(fā)工具,對(duì)貪吃蛇游戲進(jìn)行了需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),最終完成系統(tǒng)的實(shí)現(xiàn)與測試。1.1研究的背景及意義隨著社會(huì)的發(fā)展,人們生活的節(jié)奏日益加快,越來越多的人加入了全球化的世界。人們不再拘泥與一小塊天地,加班,出差成了現(xiàn)代人不可避免的公務(wù)。而此時(shí)一款可以隨時(shí)隨地娛樂的游戲成為了人們的需要。此次課程設(shè)計(jì)完成的貪吃蛇小游戲,正是為了滿足上述需求而設(shè)計(jì)出來的。貪吃蛇游戲雖小,卻設(shè)計(jì)諸多的知識(shí)點(diǎn)。通過開發(fā)貪吃蛇游戲系統(tǒng),可使讀者初步了解使用軟件工程的和那個(gè)發(fā),技術(shù)和工具開發(fā)軟件的過程,進(jìn)一步掌握結(jié)構(gòu)化,模塊化的程序設(shè)計(jì)方法和步驟,進(jìn)一步掌握總體數(shù)據(jù)
3、結(jié)構(gòu)設(shè)計(jì),模塊劃分方法,掌握局部變量,全局變量,結(jié)構(gòu)體,共用體,數(shù)組,指針,文件等數(shù)據(jù)結(jié)構(gòu)的使用方法,掌握?qǐng)D形,聲音,隨機(jī)數(shù)等多種庫函數(shù)的使用方法,學(xué)習(xí)動(dòng)畫,音樂,窗口,菜單,鍵盤等多項(xiàng)編程技術(shù),進(jìn)一步學(xué)會(huì)軟件調(diào)試,測試,組裝等軟件測試方法,為后續(xù)課程的學(xué)習(xí)和將來實(shí)際軟件開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。1.2設(shè)計(jì)的任務(wù)和需要的知識(shí)點(diǎn)1.2.1課程設(shè)計(jì)主要完成的任務(wù)1).通過編寫“貪吃蛇游戲”程序,掌握結(jié)構(gòu)化,模塊塊化程序設(shè)計(jì)的思想,培養(yǎng)解決實(shí)際問題的能力。2)有同步播放動(dòng)畫,聲音效果。3)設(shè)計(jì)好數(shù)組元素與蛇,食物的對(duì)應(yīng)關(guān)系。4)隨機(jī)產(chǎn)生食物。5)有分?jǐn)?shù)統(tǒng)計(jì),
4、排行榜,分?jǐn)?shù)存儲(chǔ)等功能。通過此次課程設(shè)計(jì),希望使讀者能更深入的理解和掌握課程教學(xué)中的基本概念,培養(yǎng)讀者應(yīng)用基本技術(shù)解決實(shí)際問題的能力,從而進(jìn)一步提高分析問題和解決問題的能力。1.2.2需要掌握和運(yùn)用的知識(shí)點(diǎn)1.2.3本次課程設(shè)計(jì)需要掌握和運(yùn)用如下的知識(shí)點(diǎn):1)數(shù)組的應(yīng)用。2)全局變量的使用。3)按鍵處理。4)結(jié)構(gòu)體的應(yīng)用。5)圖形,音樂和動(dòng)畫的有關(guān)知識(shí)。6)隨即函數(shù)的使用。7)文件的基本出操作。8)結(jié)構(gòu)化,模塊化的設(shè)計(jì)方法。1.3具體完成的設(shè)計(jì)內(nèi)容在本次課程設(shè)計(jì)中需要完成的任務(wù)有:包含命令,全局變量的定義和宏定義,函數(shù)聲明等(50行),主控模塊(
5、MAIN函數(shù),14行),動(dòng)畫,音樂播放模塊(DRAWSNOW函數(shù),33行),畫出游戲開始界面模塊,具體游戲過程模塊,游戲結(jié)束處理模塊。開發(fā)中工作量約為215行源代碼。二.需求分析貪吃蛇游戲是個(gè)簡單的小游戲,能讓游戲者的身心得到娛樂,從而能夠更好地投入到學(xué)習(xí)或工作當(dāng)中。雖然現(xiàn)在市面上出來這各種各樣的游戲版本,可是貪吃蛇這類的小游戲其市場還是相當(dāng)大的,因?yàn)樗娣ê唵我仔?,不論是手機(jī),還是小游戲機(jī),都能很順利的運(yùn)行。對(duì)于在外忙碌的人,不可能花費(fèi)大量時(shí)間在娛樂上,大型游戲是行不通的,這樣的小游戲剛好迎合了他們的需求。2.1功能的需求要開發(fā)貪吃蛇游戲程序,
6、首先要分析改程序應(yīng)實(shí)現(xiàn)哪些功能。對(duì)貪吃蛇游戲程序的功能需求可描述如下:程序運(yùn)行后顯示動(dòng)畫,音樂,按ESC鍵退出游戲界面后,左邊有一個(gè)矩形區(qū),外游戲區(qū)域,在矩形區(qū)中有食物和貪食蛇,上方有統(tǒng)計(jì)分?jǐn)?shù)及關(guān)數(shù)顯示區(qū)域。蛇在封閉圍墻利用綠色矩形表示,圍墻里隨機(jī)的出現(xiàn)一個(gè)食物,通過按鍵盤四個(gè)光標(biāo)鍵控制蛇向上,下,左右四個(gè)方向移動(dòng),蛇頭撞到食物,則食物被吃掉,蛇身體長一節(jié),接著又出現(xiàn)食物,等待蛇來吃。食物用一個(gè)點(diǎn)表示,并且每次食物的位置都是隨機(jī)出現(xiàn)的。游戲中要使貪吃蛇盡可能的長,但是不能使貪吃蛇撞到四周的墻壁,而且蛇的身體不能撞到一起,否則游戲結(jié)束。游戲中每吃掉
7、一個(gè)食物要有積分,隨著分?jǐn)?shù)的增加可進(jìn)入下一關(guān),即使速度會(huì)加快。游戲結(jié)束時(shí),如果分?jǐn)?shù)進(jìn)入前5名則重新排榜并存儲(chǔ)。顯示排行榜。由于有關(guān)貪吃蛇和食物的數(shù)據(jù)較多,而且關(guān)系密切,貪吃蛇及食物都是定義結(jié)構(gòu)體數(shù)據(jù)類型,這樣定義便于操作與處理。2.2操作方法2.2.1.進(jìn)入游戲2.2.2.游戲界面2.2.3.游戲操作2.2.4.游戲結(jié)束三總體設(shè)計(jì)確定貪吃蛇游戲體系結(jié)構(gòu),給出總體模塊結(jié)構(gòu)圖,確定程序的主要函數(shù)及之間的調(diào)用關(guān)系,同時(shí)設(shè)計(jì)蛇與游戲者等的數(shù)據(jù)結(jié)構(gòu)。3.1模塊劃分本程序采用結(jié)構(gòu)化程序設(shè)計(jì)的方法,按照自頂向下,逐步細(xì)化的方法對(duì)要解決的問題進(jìn)行逐層分解。首先畫
8、出頂層模塊,即主控模塊,之完成對(duì)下層模塊的調(diào)用功能,即調(diào)用其他的功能模塊;接著,按需求分析中的功能需求設(shè)計(jì)第一層模塊,有音樂動(dòng)畫,圖形驅(qū)