資源描述:
《貪食蛇課程設(shè)計(jì)課題報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、貪吃蛇游戲C程序設(shè)計(jì)報(bào)告目錄一.設(shè)計(jì)要求2二.設(shè)計(jì)的作用、目的2三.課題分析21.貪吃蛇游戲功能分析22.游戲界面分析33.設(shè)計(jì)思路分析3四.設(shè)計(jì)的具體實(shí)現(xiàn)31.系統(tǒng)組成模塊結(jié)構(gòu)及功能3(1)函數(shù)定義3(2)主函數(shù)main()4(3)畫界面函數(shù)DrawK()5(4)游戲具體過程函數(shù)GamePlay()6(5)游戲結(jié)束函數(shù)GameOver()92.系統(tǒng)程序結(jié)構(gòu)及流程圖103.重要函數(shù)介紹124.程序代碼編寫及注釋145.軟件調(diào)試問題分析及解決方法206.軟件運(yùn)行結(jié)果20五.心得體會(huì)及建議22六.參考文
2、獻(xiàn)2323貪吃蛇游戲C程序設(shè)計(jì)報(bào)告貪吃蛇游戲C程序設(shè)計(jì)報(bào)告一.設(shè)計(jì)要求通過游戲程序設(shè)計(jì),提高編程興趣與編程思路,鞏固C語言中所學(xué)的知識(shí),合理的運(yùn)用資料,實(shí)現(xiàn)理論與實(shí)際相結(jié)合。(1).收集資料,分析課題,分解問題,形成總體設(shè)計(jì)思路;(2).深入分析各個(gè)小問題,列出大綱,編寫各部分程序模塊;(3).對(duì)于設(shè)計(jì)中用到的關(guān)鍵函數(shù),要學(xué)會(huì)通過查資料,弄懂其用法,要聯(lián)系問題進(jìn)行具體介紹;(4).上機(jī)調(diào)試,查錯(cuò),逐步分析不能正常運(yùn)行的原因,確保所設(shè)計(jì)的程序正確,并且能正常運(yùn)行;(5).完成課程設(shè)計(jì)報(bào)告,并進(jìn)行答辯。
3、二.設(shè)計(jì)的作用、目的C語言是一種易學(xué)易懂的通用程序設(shè)計(jì)語言,由于它具有功能性強(qiáng),運(yùn)用簡(jiǎn)潔,靈活兼有高級(jí)語言與低級(jí)語言的優(yōu)點(diǎn),以及“目標(biāo)程序效率高”可移植性和能在各種系統(tǒng)上普遍實(shí)現(xiàn)等特點(diǎn)使它成為當(dāng)今世界上的主流程序設(shè)計(jì)語言之一,同時(shí)被選作目前全世界廣泛應(yīng)用,同時(shí)也是大學(xué)生必修的科目。作為當(dāng)代的大學(xué)生要很好的利用它,學(xué)好一門設(shè)計(jì)語言,實(shí)現(xiàn)學(xué)以至用。制作C程序報(bào)告,是為了鞏固和加深對(duì)C語言課程的基本知識(shí)的理解和掌握,并且能夠掌握C語言編程和程序調(diào)試的基本技能。通過游戲程序的設(shè)計(jì)訓(xùn)練和提高學(xué)生的基本技能,掌
4、握字符串的表示方法和字符串函數(shù)的功能、TurboC圖形操作的基本知識(shí)、鍵盤上特殊鍵的獲取以及圖形方式下光標(biāo)的顯示,提高編程興趣與編程水平,學(xué)會(huì)如何正確的書寫程序設(shè)計(jì)說明文檔,提高運(yùn)用C語言解決實(shí)際問題的能力,鞏固C語言語法規(guī)則的理解和掌握,學(xué)會(huì)通過源程序?qū)懗隽鞒虉D,提高自學(xué)以及查閱資料的能力。三.課題分析1.貪吃蛇游戲功能分析C語言是一種中性化的語言,用C語言來編寫程序?qū)崿F(xiàn)貪吃蛇游戲,能有效反映本有本游戲的基本特點(diǎn)。23貪吃蛇游戲C程序設(shè)計(jì)報(bào)告編寫C語言程序?qū)崿F(xiàn)貪吃蛇游戲,貪吃蛇游戲是一個(gè)深受人們喜
5、歡的游戲:一條蛇在密閉的圍墻內(nèi),在圍墻內(nèi)隨機(jī)出現(xiàn)一個(gè)食物,通過鍵盤上的四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞到食物,則表示食物被吃掉,這時(shí)蛇的身體長(zhǎng)一節(jié),同時(shí)計(jì)10分;接著又出現(xiàn)食物,等待被蛇吃掉,如果蛇在移動(dòng)過程中,撞到墻壁或身體交叉(蛇頭撞到自己的身體)游戲結(jié)束。2.游戲界面分析程序運(yùn)行時(shí)邊框表示圍墻,紅色矩形塊代表蛇,黃色小方塊代表食物。3.設(shè)計(jì)思路分析這個(gè)程序的關(guān)鍵點(diǎn)是表示蛇的圖形以及蛇的移動(dòng)。用一個(gè)小矩形塊表示蛇的一節(jié)身體,身體每長(zhǎng)一節(jié),增加一個(gè)矩形塊,蛇頭用兩節(jié)表示。移動(dòng)從蛇頭開
6、始,所以蛇不能向相反方向移動(dòng),也就是蛇尾不能改作蛇頭。如果不按任何鍵,蛇自行在當(dāng)前方向上前移,當(dāng)游戲者按了有效的方向鍵后,蛇頭朝著指定的方向移動(dòng),一步移動(dòng)一節(jié)身體,所以當(dāng)按了有效的方向鍵后,先確定蛇頭的位置,然后蛇身體隨著蛇頭的方向移動(dòng),圖形的實(shí)現(xiàn)是從蛇頭的新位置開始畫出蛇,這時(shí),由于沒有清屏的原因,原來蛇的位置和新蛇的位置差一個(gè)單位,所以看起來蛇會(huì)多一節(jié)身體,所以將蛇的最后一節(jié)用背景色來覆蓋。食物的出現(xiàn)和消失是以畫矩形塊和覆蓋矩形塊來表示的四.設(shè)計(jì)的具體實(shí)現(xiàn)1.系統(tǒng)組成模塊結(jié)構(gòu)及功能本貪吃蛇程序包
7、括以下主要的模塊:(1)函數(shù)定義函數(shù)定義是對(duì)各個(gè)基礎(chǔ)函數(shù)的定義,并且設(shè)置需要運(yùn)用的信息,便于調(diào)用#defineN200#include/*圖形頭文件*/#include/*包含rand等函數(shù)*/#include/*包含bios函數(shù)*/23貪吃蛇游戲C程序設(shè)計(jì)報(bào)告#defineLEFT0x4b00/*光標(biāo)左鍵值*/#defineRIGHT0x4d00/*光標(biāo)右鍵值*/#defineDOWN0x5000/*光標(biāo)下鍵值*/#defineUP0x48
8、00/*光標(biāo)上鍵值*/#defineESC0x011b/*ESC的ASCII碼*/inti,key;/*圖形坐標(biāo)變量及按鍵變量*/intscore=0;/*得分*/intgamespeed=10000;/*游戲速度自己調(diào)整*/structFood{intx;/*食物的橫坐標(biāo)*/inty;/*食物的縱坐標(biāo)*/intyes;/*判斷是否要出現(xiàn)食物的變量*/}food;/*食物的結(jié)構(gòu)體*/structSnake{intx[];/*蛇的橫坐標(biāo)*/inty[];/*蛇的縱坐標(biāo)*