说明:
1.技术:C语言基本知识
2.游戏:方向键控制上下左右
代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <getch.h>
int main(int argc,const char* argv[])
{
//1、定义一个字符类型的二维数组作为迷宫地图
char maze[10][10] =
{
{'#','#','#','#','#','#','#','#','#','#'},
{'#',' ','#','#','#','#','#','#','#','#'},
{'#','@','#','#','#','#','#','#','#','#'},
{'#',' ','#','#','#','#','#','#','#','#'},
{'#',' ','#',' ',' ',' ',' ','#','#','#'},
{'#',' ','#',' ','#','#',' ','#','#','#'},
{'#',' ','#',' ','#','#',' ','#','#','#'},
{'#',' ','#',' ','#','#',' ',' ',' ','#'},
{'#',' ',' ',' ','#','#','#','#',' ',' '},
{'#','#','#','#','#','#','#','#','#','#'},
};
//2、定义变量记录老鼠的位置
int m_x = 2, m_y = 1;
//3、获取游戏开始的时间
time_t start_time = time(NULL);
//4、进入死循环
for(;;)
{
//1、清理屏幕
system("clear");
//2、显示地图(遍历二维数组)
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
printf("%c ",maze[i][j]);
}
printf("\n");
}
//3、判断是否到达出口
if(8 == m_x && 9 == m_y)
{
time_t end_time = time(NULL);
printf("游戏胜利,花了%u秒\n",end_time-start_time);
return 0;
}
//4、获取方向键并处理
switch(getch())
{
case 183:
if(' ' == maze[m_x-1][m_y])
{
maze[m_x-1][m_y] = '@';
maze[m_x][m_y] = ' ';
m_x--;
}
break;
case 184:
if(' ' == maze[m_x+1][m_y])
{
maze[m_x+1][m_y] = '@';
maze[m_x][m_y] = ' ';
m_x++;
}
break;
case 185:
if(' ' == maze[m_x][m_y+1])
{
maze[m_x][m_y+1] = '@';
maze[m_x][m_y] = ' ';
m_y++;
}
break;
case 186:
if(' ' == maze[m_x][m_y-1])
{
maze[m_x][m_y-1] = '@';
maze[m_x][m_y] = ' ';
m_y--;
}
break;
}
}
}