走迷宫:
1、定义一个二维数组作为迷宫
2、定义老鼠的坐标
3、获取游戏开始时的时间time(NULL)
4、进入循环
1、system 清理屏幕
2、显示迷宫(遍历二维数组)
3、检查是否走出迷宫
获取游戏结束时的时间:计算出共花费多少时间
time(NULL)
是:结束程序
4、获取方向键并处理
判断接下来要走的位置是否有路
1、把新位置赋值为老鼠’@’
2、把旧位置赋值为路 ’ ’
3、把记录老鼠的坐标更新
代码:
#include<stdio.h>#include<getch.h>#include<stdlib.h>#include<time.h>int main(int argc,const char* argv[]){time_t start_time = time(NULL);char map[10][10] = {{'#','#','#','#','#','#','#','#','#','#'},{'#',' ','@','#',' ',' ',' ',' ','#','#'},{'#',' ','#','#',' ','#','#',' ',' ','#'},{'#',' ','#','#',' ','#','#','#','#','#'},{'#',' ','#',' ',' ',' ','#',' ',' ',' '},{'#',' ','#',' ','#',' ','#',' ','#','#'},{'#',' ','#',' ','#',' ',' ',' ',' ','#'},{'#',' ','#',' ','#','#',' ','#',' ','#'},{'#',' ',' ',' ','#','#',' ','#',' ','#'},{'#','#','#','#','#','#','#','#','#','#'},};//定义角色的坐标char mouse_x = 1,mouse_y = 2;for(;;){system("clear");for(int i=0;i<10;i++){for(int j=0;j<10;j++){printf("%c",map[i][j]);}printf("\n");}if(4 == mouse_x && 9 == mouse_y){time_t end_time = time(NULL);printf("win game!\n你一共用时%d秒!\n",end_time-start_time);break;}//通过方向键移动角色一次switch(getch()){case 183://向上移动if(' ' == map[mouse_x-1][mouse_y]){map[mouse_x-1][mouse_y] = '0';map[mouse_x][mouse_y] = ' ';mouse_x--;}break;case 184:if(' ' == map[mouse_x+1][mouse_y]){map[mouse_x+1][mouse_y] = '0';map[mouse_x][mouse_y] = ' ';mouse_x++;}break;case 185:if(' ' == map[mouse_x][mouse_y+1]){map[mouse_x][mouse_y+1] = '0';map[mouse_x][mouse_y] = ' ';mouse_y++;}break;case 186:if(' ' == map[mouse_x][mouse_y-1]){map[mouse_x][mouse_y-1] = '0';map[mouse_x][mouse_y] = ' ';mouse_y--;}break;}}return 0;}