日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言八个方向迷宫课程设计,【精品资料最新版】C语言课程设计-迷宫游戏.doc...

發(fā)布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言八个方向迷宫课程设计,【精品资料最新版】C语言课程设计-迷宫游戏.doc... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

計算機技術基礎課程設計

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...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。