C語言程序設(shè)計(jì)走迷宮游戲程序設(shè)計(jì)_第1頁
C語言程序設(shè)計(jì)走迷宮游戲程序設(shè)計(jì)_第2頁
C語言程序設(shè)計(jì)走迷宮游戲程序設(shè)計(jì)_第3頁
C語言程序設(shè)計(jì)走迷宮游戲程序設(shè)計(jì)_第4頁
C語言程序設(shè)計(jì)走迷宮游戲程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、c語言程序設(shè)計(jì)題目 走迷宮游戲程序設(shè)計(jì) 一、 內(nèi)容 本系統(tǒng)主要實(shí)現(xiàn)了走迷宮游戲,執(zhí)行游戲的時(shí)候出現(xiàn)迷宮圖案,每次各不相同,但是入口均在左上角,出口在右下角,出入口各有“出”、“入”提示。人物為,“”表示墻,外圍為一圈墻,空白部分為可行走的路,使用“上”、“下”、“左”、“右”鍵操作,當(dāng)遭遇“墻”時(shí)無法前進(jìn),操作“”上下左右移動(dòng),直至走到出口,游戲勝利。當(dāng)無法走出迷宮時(shí),按“esc”鍵即可退出游戲。二、上機(jī)環(huán)境操作系統(tǒng):windows xp開發(fā)工具:vc6.0 三、函數(shù)調(diào)用關(guān)系圖main函數(shù)creat函數(shù) paint函數(shù)game函數(shù)gotoxy函數(shù)get_key函數(shù)gotox函數(shù) 圖一:函數(shù)調(diào)用

2、關(guān)系圖四、各函數(shù)功能說明main函數(shù):主函數(shù);create函數(shù):隨機(jī)生成迷宮;paint函數(shù):畫出迷宮;game函數(shù):開始游戲;gotoxy函數(shù):在文本窗口設(shè)置光標(biāo);get_key函數(shù):接受按鍵;五、算法描述或流程圖開 始游 戲 界 面畫長(zhǎng)33 寬31迷宮 開 始 游 戲玩家移動(dòng)人物是否遇到墻?人物坐標(biāo)位置不變yn玩家繼續(xù)移動(dòng)人物是否到達(dá)出口?y游 戲 成 功結(jié) 束n 圖二:算法流程圖六、程序運(yùn)行效果圖圖三:游戲開始效果圖 圖四:到達(dá)終點(diǎn)效果圖七、總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié)。大學(xué)來說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。在程序設(shè)計(jì)的

3、過程中,我遇到了不少的問題,請(qǐng)教過學(xué)姐或者學(xué)長(zhǎng),也請(qǐng)教了老師,最后將程序設(shè)計(jì)好了。回顧起此次課程設(shè)計(jì),我感慨良多,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)星期的日子里,我學(xué)到了很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí),我發(fā)現(xiàn)c語言是一門有趣的課程,對(duì)它產(chǎn)生了很大的興趣。并且我明白了細(xì)心真的很重要,有時(shí)候就是因?yàn)橐稽c(diǎn)點(diǎn)的小錯(cuò)誤,而導(dǎo)致程序無法調(diào)試,并且需要花較長(zhǎng)的時(shí)間去尋找錯(cuò)誤。細(xì)心很重要的。兩個(gè)星期前的現(xiàn)在,當(dāng)聽到老師布置給我們的題目時(shí),我們都蒙了,這么難的題目我們?cè)趺磿?huì)啊,我們只能盡我們自己最大的努力把程序給寫出來,雖然知道這一

4、路肯定是異常的艱苦,但豁出去了。上網(wǎng)查資料、去圖書館查,查相關(guān)的函數(shù),經(jīng)過兩三天的努力,我把框架弄出來了,可是還有計(jì)算難題擺在我的面前,真的是個(gè)難題,自從把框架弄好了以后就沒有進(jìn)展了,眼看一個(gè)星期快過去了,我那個(gè)急啊,可是急也沒有用。我堅(jiān)持,終于工夫不負(fù)有心人,大功告成了。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)和實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟是第一次做,難免會(huì)遇到各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,

5、對(duì)以前學(xué)過的知識(shí)理解得不夠深刻,掌握的不夠牢固,比如說結(jié)構(gòu)體通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。感謝老師的悉心指導(dǎo),使我們能夠順利的完成這次課程設(shè)計(jì),使我們收獲頗多,謝謝!八、參考文獻(xiàn)1李春葆 曾平 喻丹丹.c語言程序設(shè)計(jì)教程.清華大學(xué)出版社,20112李春葆 尹為民 李蓉蓉 蔣晶鈺 喻丹丹 安楊.數(shù)據(jù)結(jié)構(gòu)教程.清華大學(xué)出版社,2009九、程序清單#include #include #include #include #include #define height 33 #define width 31 #define wall 1#define road 0#define

6、start 2#define end 3#define esc 5#define up 1#define down 2#define left 3#define right 4int mapheight+2width+2;void gotoxy(int x,int y) /移動(dòng)坐標(biāo)coord coord;coord.x=x;coord.y=y;setconsolecursorposition( getstdhandle( std_output_handle ), coord );void create(int x,int y) /隨機(jī)生成迷宮int c42=0,1,1,0,0,-1,-1,0;

7、 /四個(gè)方向int i,j,t;/將方向打亂for(i=0;i4;i+)j=rand()%4;t=ci0;ci0=cj0;cj0=t;t=ci1;ci1=cj1;cj1=t; mapxy=road;for(i=0;i4;i+)if(mapx+2*ci0y+2*ci1=wall)mapx+ci0y+ci1=road;create(x+2*ci0,y+2*ci1);int get_key() /接收按鍵char c;while(c=getch()if(c=27) return esc; /escif(c!=-32)continue;c=getch();if(c=72) return up; /上i

8、f(c=80) return down; /下if(c=75) return left; /左if(c=77) return right; /右return 0; void paint(int x,int y) /畫迷宮gotoxy(2*y-2,x-1);switch(mapxy)case start:printf(入);break; /畫入口case end:printf(出);break; /畫出口case wall:printf();break; /畫墻case road:printf( );break; /畫路void game()int x=2,y=1; /玩家當(dāng)前位置,剛開始在入口

9、處int c; /用來接收按鍵while(1)gotoxy(2*y-2,x-1);printf(); /畫出玩家當(dāng)前位置if(mapxy=end) /判斷是否到達(dá)出口gotoxy(32,30);printf(到達(dá)終點(diǎn),按任意鍵結(jié)束);getch();break;c=get_key();if(c=esc)gotoxy(0,30);break;switch(c)case up: /向上走if(mapx-1y!=wall)paint(x,y);x-;break;case down: /向下走if(mapx+1y!=wall)paint(x,y);x+;break;case left: /向左走if(

10、mapxy-1!=wall)paint(x,y);y-; break;case right: /向右走if(mapxy+1!=wall)paint(x,y);y+; break;int main()system(color 04);int i,j;srand(unsigned)time(null); /初始化隨即種子for(i=0;i=height+1;i+)for(j=0;j=width+1;j+)if(i=0|i=height+1|j=0|j=width+1) /初始化迷宮mapij=road;else mapij=wall;create(2*(rand()%(height/2)+1),2*(rand()%(width/2)+1); /從隨機(jī)一個(gè)點(diǎn)開始生成迷宮,該點(diǎn)行列都為偶數(shù)for(i=0;i=height+1;i+) /邊界處理mapi0=wall; mapiwidth+1=wall; for(j=0;j=width+1;j+) /邊界

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論