迷宫c语言(2)

2019-04-21 11:55

{ paint(x,y); x--; } break;

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

case Left: //向左走 if(map[x][y-1]!=Wall) { paint(x,y); y--; } break;

case Right: //向右走 if(map[x][y+1]!=Wall) {

paint(x,y); y++; } break; } } } int main() { int i,j;

srand((unsigned)time(NULL)); //初始化随即种子 hidden(); //隐藏光标 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) //初始化迷宫 map[i][j]=Road; else map[i][j]=Wall;

create(2*(rand()%(Height/2)+1),2*(rand()%(Width/2)+1)); //从随机一个点开始生成迷宫,该点行列都为偶数 for(i=0;i<=Height+1;i++) //边界处理 {

map[i][0]=Wall; map[i][Width+1]=Wall; }

for(j=0;j<=Width+1;j++) //边界处理 {

map[0][j]=Wall; map[Height+1][j]=Wall; }

map[2][1]=Start; //给定入口 map[Height-1][Width]=End; //给定出

口 for(i=1;i<=Height;i++)

for(j=1;j<=Width;j++) //画出迷宫 paint(i,j);

game(); //开始游戏 getch(); return 0; }

首先,先挂上代码。然后说部分废话,读代码好处非常之多,提高技术,增加理解力,以及获得不同思路等。读代码甚至对比写代码来说,学习效率有过之而无不及.文章针对初级又在初级之上,没有一定的基础看不懂,有一定的基础就可以跟着这篇帖子,做出你自己的C语言随机迷宫,这里的做出并不是抄代码,而是变为你真正的知识,在没有参考的时候,也可以流畅的写出你的代码.

然后我们开始分析代码.. 先看头文件。

#include <stdio.h> //包涵标准输入输出函数

#include <conio.h> //控制台输入输出库,非标准库哦

#include <windows.h> //WINDOWS.H是主要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。 具体包涵了什么。。太多了 自行百度

#include <time.h> //包涵时间和日期处理函数

#define Height 21 //迷宫的高度,必须为奇数

#define Width 21 //迷宫的宽度,必须为奇数

#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 4

这里为什么要用宏,什么情况下使用宏,可能要问为什么不直接用 12345来代替。简单的来说就是提供一个方便,并增加一定的效率。还有重要的一点就是增加代码的可读性。尽量避免用01234这样无意义的数字而使用宏定义能良好的提高开发效率,在小程序中可能不算什么,但是在大程序可就不一样了,然而宏定义也并非只能定义简单的1234 。

接下来我们看一共有几个函数

void gotoxy(int x,int y) //既字面含义 移动坐标 void create(int x,int y) //字面含义 创建迷宫


迷宫c语言(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:农村信用社体制改革面临的问题及对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: