目录
C语言迷宫游戏定义地图打印地图方法一打印地图方法二定义起点和终点位置实现读取按键实现小球下向下移动一步总结小球移动规律实现重新打印地图实现连续移动实现小球下向上下左右移动实现小球走到终点就胜利C语言迷宫游戏
这篇文章是给学完并学懂了C语言的分支(选择和循环)结构和二维数组的朋友看的。
要做一个游戏或者程序先要想好有那些要求,以下是我认为一个迷宫必带的要求:
- 迷宫要先打印出来(要设置墙、空气、小球的起点),是墙就不能,是空气就可以走。每次输入'w'、'a'、's'、'd'为上、左、下、右,并每次输入后,不用按回车或任意键继续就能输出,每次走一步(按键盘的键走)后,先清屏再输出现在迷宫以及小球现在在哪里。要有起点和终点的X、Y轴,如果小球与终点的位置相同了,就提示胜利并退出游戏。
定义地图
首先我们要打印出地图,因为地图有长和宽的长度,所以我们要用二维数组来定义一个地图,代码如下:
char map[50][50]={
"######",//申请50*50的二维字符串当迷宫地图,但这里是6*6的地图
"#O # ",//'#'是墙(不可以走的地方)
"# ## #",//'O'是起点(可控制)
"# # #",//' '是空气(可以走的地方)
"## #",
"######",//横竖都是012345,012345(数组下标从0开始)
};
打印地图方法一
定义完二维数组,就要把它打印出来,代码如下:
int i,j;
for(i=0;i<6;i++)//i循环用来控制打印地图的行数
{
for(j=0;j<6;j++)//j循环用来控制打印地图的列数
{
printf("%c",map[i][j]);//打印每次i和j的行数和列数
}
printf("n");//一行打印完毕需要换行
}
打印地图方法二
上面这段代码是通过双重循环打印出地图的每行每列。
如果学过puts函数来输出字符数组的朋友可以这样写,代码如下:
int i;
for(i=0;i<6;i++)//从0到5,共进行了6次循环,依次输出迷宫的第0至5行
puts(map[i]);//表示输出每一行的字符串
是不是简单了许多,不懂puts函数的朋友也没关系,你用第一种方法就行,对于puts函数你只需要知道:
- 使用 puts() 显示字符串时,系统会自动在其后添加一个换行符。只有遇到 '
