c语言八个方向迷宫课程设计,【精品资料最新版】C语言课程设计-迷宫游戏.doc...
計算機技術基礎課程設計
C語言
設計報告
題目:完整的二維迷宮游戲
學院:工商管理學院
專業(yè):信息系統(tǒng)與信息管理
班級:050507
姓名:孫月
指導教師:張首偉
設計日期:2004年12月10日
題目:完整的二維迷宮游戲
一、選題背景:
問題的提出:我們在玩迷宮游戲的時候,常常在過了一關之后就結束了,這里設計的迷宮游戲足夠多,難以程度也不盡相同,可以過癮的玩。模仿的有那么一點意思,還請多多指教!
二、設計思想:
(1).問題描述
用一個m行n列的二維數(shù)組來表示迷宮。數(shù)組中每個元素的取值為0或1,其中值0表示 通路,值1表示阻塞,入口在左上方(1,1)處,出口在右下方(m,n)處,如圖所示。要求求出從迷宮入口到出口有無通路,若有通路則指出其中一條通路的路徑,即輸出找到通路的迷宮數(shù)組,其中通路上的“0”用另一數(shù)字(例如8)替換,同時打印出所走通路徑上每一步的位置坐標及下一步的方向。
(2).求解方法說明:1.為使問題一般化,假設以二維數(shù)組maze(1:m,1:n)表示迷宮,并設maze(i,j)表示任一位置。2.對每個位置maze(i,j),可移動的八個方向從正東起順時針方向順序為:E,SE,S,SW,W,NW,N,NE。再用一個二維數(shù)組move表示這八個方向上坐標的增量,如下表所示,move(v,1)表示第v個方向上i的增量, move(v,2)表示第v個方向上j的增量。
三、程序流程圖
四、程序清單:
一、
二、
#include #include #include #include #include #define N 20/*迷宮的大小,可改變*/int??oldmap[N][N];/*遞歸用的數(shù)組,用全局變量節(jié)約時間*/int??yes=0;/*yes是判斷是否找到路的標志,1找到,0沒找到*/int??way[100][2],wayn=0;/*way數(shù)組是顯示路線用的,wayn是統(tǒng)計走了幾個格子*/void Init(void);/*圖形初始化*/void Close(void);/*圖形關閉*/void DrawPeople(int *x,int *y,int n);/*畫人工探索物圖*/void PeopleFind(int (*x)[N]);/*人工探索*/void WayCopy(int (*x)[N],int (*y)[N]);/*為了8個方向的遞歸,把舊迷宮圖拷貝給新數(shù)組*/int??FindWay(int (*x)[N],int i,int j);/*自動探索函數(shù)*/void MapRand(int (*x)[N]);/*隨機生成迷宮函數(shù)*/void PrMap(int (*x)[N]);/*輸出迷宮圖函數(shù)*/void Result(void);/*輸出結果處理*/void Find(void);/*成功處理*/void NotFind(void);/*失敗處理*/void main(void)/*主函數(shù)*/{? ?int map[N][N]; /*迷宮數(shù)組*/? ?char ch;? ?clrscr();? ?printf("\n Please select hand(1) else auto\n");/*選擇探索方式*/? ?scanf("%c",&ch);? ?Init();??/*初始化*/? ?MapRand(map);/*生成迷宮*/? ?PrMap(map);/*顯示迷宮圖*/? ?if(ch=='1')? ?? ?PeopleFind(map);/*人工探索*/? ?else? ?? ?FindWay(map,1,1);/*系統(tǒng)自動從下標1,1的地方開始探索*/? ?Result();/*輸出結果*/? ?Close();}void Init(void)/*圖形初始化*/{? ?int gd=DETECT,gm;? ?initgraph(&gd,&gm,"c:\\tc");}void DrawPeople(int *x,int *y,int n)/*畫人工控制圖*/{/*如果將以下兩句注釋掉,則顯示人工走過的路徑,*/? ?setfillstyle(SOLID_FILL,WHITE);??/*設置白色實體填充樣式*/? ?bar(100+(*y)*15-6,50+(*x)*15-6,100+(*y)*15+6,50+(*x)*15+6);/*恢復原通路*/? ?switch(n)/*判斷x,y的變化,8個方向的變化*/? ?{? ?? ?case 1: (*x)--;break
總結
以上是生活随笔為你收集整理的c语言八个方向迷宫课程设计,【精品资料最新版】C语言课程设计-迷宫游戏.doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java swnig 太极,iOS 13
- 下一篇: js+canvas绘制360加速球