版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c語(yǔ)言程序設(shè)計(jì)題目 走迷宮游戲程序設(shè)計(jì) 一、 內(nèi)容 本系統(tǒng)主要實(shí)現(xiàn)了走迷宮游戲,執(zhí)行游戲的時(shí)候出現(xiàn)迷宮圖案,每次各不相同,但是入口均在左上角,出口在右下角,出入口各有“出”、“入”提示。人物為,“”表示墻,外圍為一圈墻,空白部分為可行走的路,使用“上”、“下”、“左”、“右”鍵操作,當(dāng)遭遇“墻”時(shí)無(wú)法前進(jìn),操作“”上下左右移動(dòng),直至走到出口,游戲勝利。當(dāng)無(wú)法走出迷宮時(shí),按“esc”鍵即可退出游戲。二、上機(jī)環(huán)境操作系統(tǒng):windows xp開(kāi)發(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ù)功能說(shuō)明main函數(shù):主函數(shù);create函數(shù):隨機(jī)生成迷宮;paint函數(shù):畫(huà)出迷宮;game函數(shù):開(kāi)始游戲;gotoxy函數(shù):在文本窗口設(shè)置光標(biāo);get_key函數(shù):接受按鍵;五、算法描述或流程圖開(kāi) 始游 戲 界 面畫(huà)長(zhǎng)33 寬31迷宮 開(kāi) 始 游 戲玩家移動(dòng)人物是否遇到墻?人物坐標(biāo)位置不變yn玩家繼續(xù)移動(dòng)人物是否到達(dá)出口?y游 戲 成 功結(jié) 束n 圖二:算法流程圖六、程序運(yùn)行效果圖圖三:游戲開(kāi)始效果圖 圖四:到達(dá)終點(diǎn)效果圖七、總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié)。大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開(kāi)發(fā)技術(shù)是十分重要的。在程序設(shè)計(jì)的
3、過(guò)程中,我遇到了不少的問(wèn)題,請(qǐng)教過(guò)學(xué)姐或者學(xué)長(zhǎng),也請(qǐng)教了老師,最后將程序設(shè)計(jì)好了?;仡櫰鸫舜握n程設(shè)計(jì),我感慨良多,從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)星期的日子里,我學(xué)到了很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且還學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí),我發(fā)現(xiàn)c語(yǔ)言是一門有趣的課程,對(duì)它產(chǎn)生了很大的興趣。并且我明白了細(xì)心真的很重要,有時(shí)候就是因?yàn)橐稽c(diǎn)點(diǎn)的小錯(cuò)誤,而導(dǎo)致程序無(wú)法調(diào)試,并且需要花較長(zhǎng)的時(shí)間去尋找錯(cuò)誤。細(xì)心很重要的。兩個(gè)星期前的現(xiàn)在,當(dāng)聽(tīng)到老師布置給我們的題目時(shí),我們都蒙了,這么難的題目我們?cè)趺磿?huì)啊,我們只能盡我們自己最大的努力把程序給寫(xiě)出來(lái),雖然知道這一
4、路肯定是異常的艱苦,但豁出去了。上網(wǎng)查資料、去圖書(shū)館查,查相關(guān)的函數(shù),經(jīng)過(guò)兩三天的努力,我把框架弄出來(lái)了,可是還有計(jì)算難題擺在我的面前,真的是個(gè)難題,自從把框架弄好了以后就沒(méi)有進(jìn)展了,眼看一個(gè)星期快過(guò)去了,我那個(gè)急啊,可是急也沒(méi)有用。我堅(jiān)持,終于工夫不負(fù)有心人,大功告成了。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)和實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟是第一次做,難免會(huì)遇到各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,
5、對(duì)以前學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握的不夠牢固,比如說(shuō)結(jié)構(gòu)體通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。感謝老師的悉心指導(dǎo),使我們能夠順利的完成這次課程設(shè)計(jì),使我們收獲頗多,謝謝!八、參考文獻(xiàn)1李春葆 曾平 喻丹丹.c語(yǔ)言程序設(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) /畫(huà)迷宮gotoxy(2*y-2,x-1);switch(mapxy)case start:printf(入);break; /畫(huà)入口case end:printf(出);break; /畫(huà)出口case wall:printf();break; /畫(huà)墻case road:printf( );break; /畫(huà)路void game()int x=2,y=1; /玩家當(dāng)前位置,剛開(kāi)始在入口
9、處int c; /用來(lái)接收按鍵while(1)gotoxy(2*y-2,x-1);printf(); /畫(huà)出玩家當(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)開(kāi)始生成迷宮,該點(diǎn)行列都為偶數(shù)for(i=0;i=height+1;i+) /邊界處理mapi0=wall; mapiwidth+1=wall; for(j=0;j=width+1;j+) /邊界
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)小螺絲市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)光控端子收料機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)植物導(dǎo)水率高壓測(cè)量計(jì)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)馬蹄片數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)里子面料數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)多功能等離子焊機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)塑料智力玩具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五個(gè)人向金融機(jī)構(gòu)借款合同終止條件合同模板2篇
- 二零二五年度個(gè)人現(xiàn)代農(nóng)業(yè)項(xiàng)目股份轉(zhuǎn)讓合同范本2篇
- 二零二五版宣傳費(fèi)用結(jié)算與審計(jì)合同范本2篇
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書(shū)電子版下載服務(wù)
- 《田口方法的導(dǎo)入》課件
- 春節(jié)后安全生產(chǎn)開(kāi)工第一課
- 2025光伏組件清洗合同
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場(chǎng)營(yíng)銷策略考核試卷
- 電力電纜工程施工組織設(shè)計(jì)
- 2024年重慶市中考數(shù)學(xué)試題B卷含答案
- 醫(yī)生給病人免責(zé)協(xié)議書(shū)(2篇)
- 票據(jù)業(yè)務(wù)居間合同模板
- 承包鋼板水泥庫(kù)合同范本(2篇)
評(píng)論
0/150
提交評(píng)論