自己做的一个数组迷宫小游戏。
#include <stdio.h>
#include <stdlib.h>
#include <getch.h>
int main()
{
// 迷宫数组
char maze[10][10] = {
{'#','#','#','#','#','#','#','#','#','#'},
{'#','@','#','#',' ',' ',' ','#','#','#'},
{'#',' ','#','#',' ','#',' ','#','#','#'},
{'#',' ','#','#',' ','#',' ','#','#','#'},
{'#',' ',' ','#',' ','#',' ',' ','#','#'},
{'#','#',' ','#',' ','#','#',' ','#','#'},
{'#','#',' ','#',' ','#','#',' ','#','#'},
{'#','#',' ','#',' ','#','#',' ','#','#'},
{'#','#',' ',' ',' ','#','#',' ',' ',' '},
{'#','#','#','#','#','#','#','#','#','#'}
};
// 记录老鼠位置的变量
char mx = 1 , my = 1;
for(;;)
{
// 清理界面
system("clear");
// 显示界面
for(int x=0; x<10; x++)
{
for(int y=0; y<10; y++)
{
printf(" %c",maze[x][y]);
}
printf("\n");
}
// 检查是否到达出口
if(8 == mx && my == 9)
{
printf("出口迷宫!\n");
return 0;
}
switch(getch())
{
case 183:
if(mx>0 && ' ' == maze[mx-1][my])
{
maze[mx--][my] = ' ';
maze[mx][my] = '@';
}
break;
case 184:
if(mx<9 && ' ' == maze[mx+1][my])
{
maze[mx++][my] = ' ';
maze[mx][my] = '@';
}
break;
case 185:
if(my<9 && ' ' == maze[mx][my+1])
{
maze[mx][my++] = ' ';
maze[mx][my] = '@';
}
break;
case 186:
if(my>0 && ' ' == maze[mx][my-1])
{
maze[mx][my--] = ' ';
maze[mx][my] = '@';
}
break;
}
}
}