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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

迷宫游戏c语言代码讲解,迷宫游戏C语言代码讲解.doc

發(fā)布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 迷宫游戏c语言代码讲解,迷宫游戏C语言代码讲解.doc 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

/*迷宮游戲 by CDQ*//*vc++ 6.0 編譯成功本程序參照網(wǎng)上一個特殊算法隨機生成迷宮該算法優(yōu)點:效率高,從入口到出口只有唯一路徑,入口出口自己設(shè)定該算法缺點:寬度高度都必須為奇數(shù),只能生成n*m矩陣迷宮*/#include #include #include #include #define Height 31 //迷宮的高度,必須為奇數(shù)#define Width 25 //迷宮的寬度,必須為奇數(shù)#define Wall 1#define Road 0#define Start 2#define End 3#define Esc 5#define Up 1#define Down 2#define Left 3#define Right 4int map[Height+2][Width+2];void gotoxy(int x,int y) //移動坐標{COORD coord;coord.X=x;coord.Y=y;SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );}void hidden()//隱藏光標{HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cci;GetConsoleCursorInfo(hOut,&cci);cci.bVisible=0;//賦1為顯示,賦0為隱藏SetConsoleCursorInfo(hOut,&cci);}void create(int x,int y) //隨機生成迷宮{int c[4][2]={0,1,1,0,0,-1,-1,0}; //四個方向int i,j,t;//將方向打亂for(i=0;i<4;i++){j=rand()%4;t=c[i][0];c[i][0]=c[j][0];c[j][0]=t;t=c[i][1];c[i][1]=c[j][1];c[j][1]=t;}map[x][y]=Road;for(i=0;i<4;i++)if(map[x+2*c[i][0]][y+2*c[i][1]]==Wall){map[x+c[i][0]][y+c[i][1]]=Road;create(x+2*c[i][0],y+2*c[i][1]);}}int get_key() //接收按鍵{char c;while(c=getch()){if(c==27) return Esc; //Escif(c!=-32)continue;c=getch();if(c==72) return Up; //上if(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(map[x][y]){case Start:printf("入");break; //畫入口case End:printf("出");break; //畫出口case Wall:printf("※");break; //畫墻case Road:printf(" ");break; //畫路}}void game(){int x=2,y=1; //玩家當前位置,剛開始在入口處int c; //用來接收按鍵while(1){gotoxy(2*y-2,x-1);printf("☆"); //畫出玩家當前位置if(map[x][y]==End) //判斷是否到達出口{gotoxy(30,24);printf("到達終點,按任意鍵結(jié)束");getch();break;}c=get_key();if(c==Esc){gotoxy(0,24);

\o "累計分享5次" 5

回復(fù)

1樓

2011-12-07 15:46

舉報 |

我也說一句

未來未來

追憶曾經(jīng)_

團子家族

10

break;}switch(c){case Up: //向上走if(map[x-1][y]!=Wall){paint(x,y);x--;}break;case Down: //向下走if(map[x+1][y]!=Wall){paint

總結(jié)

以上是生活随笔為你收集整理的迷宫游戏c语言代码讲解,迷宫游戏C语言代码讲解.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。