当前位置: 移动技术网 > IT编程>脚本编程>Python > C语言简单小游戏--走迷宫(Vim编译器)有趣好玩

C语言简单小游戏--走迷宫(Vim编译器)有趣好玩

2020年07月15日  | 移动技术网IT编程  | 我要评论

走迷宫:
1、定义二维字符数组作为迷宫
2、定义变量记录老鼠的位置
3、获取游戏开始时间
3、进入循环
1、清理屏幕,使用system调用系统命令。
2、显示迷宫(遍历二维字符数组)
3、检查是否到达出口
获取游戏结束时间,计算出走出迷宫用了多少秒。
4、获取方向键并处理
判断接下来要走的位置是否是路,
1、把旧位置赋值为空格
2、把新位置赋值为老鼠
3、把记录老鼠位置的变量改变。
注意:
time(NULL)获取自 1970-1-1 00:00:00 到现在过了多少秒。
获取方向键使用stdlib.h头文件中的getch函数
把getch.h文件复制到/usr/include/
sudo cp getch.h /usr/include/
sudo chmod +r /usr/include/getch.h
183 上
184 下
185 右
186 左

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <getch.h>
int main(int argc,const char* argv[])
{
	char maze[10][10]={
		{'#','#','#','#','#','#','#','#','#','#',},	
		{'#','@','#','#','#','#','#','#','#','#',},
		{'#',' ','#','#','#','#','#','#','#','#',},
		{'#',' ',' ',' ',' ','#','#','#','#','#',},
		{'#',' ',' ','#',' ','#','#','#','#','#',},
		{'#','#','#','#',' ','#','#','#','#','#',},
		{'#','#','#','#',' ',' ',' ',' ',' ','#',},
		{'#','#','#','#','#','#','#','#',' ','#',},
		{'#','#','#','#','#','#','#','#',' ',' ',},
		{'#','#','#','#','#','#','#','#','#',' ',},
	
};//先定义一个二维数组,当作地图
	int m_x=1,m_y=1;
	time_t star_time=time(NULL);//记录开始时间
	for(;;)
	{
		system("clear");//刷新图像,避免走一步一张图
		for(int i=0;i<10;i++)
		{
			for(int j=0;j<10;j++)
			{
				printf("%c ",maze[i][j]);
				}
				printf("\n");
			}//打印地图
			if(9==m_x&&9==m_y)
			{
				printf("恭喜你走出迷宫,共用时%u秒!\n",time(NULL)-star_time);
				return 0;//判断成功条件

				}
		switch(getch())//定义控制键盘
		{
			case 183://if(0!=m_x&&' '==maze[m_x-1][m_y])
					{
						maze[m_x][m_y]= ' ';
						maze[--m_x][m_y]='@';
						}
						break;
			case 184://if(9!=m_x&& ' '==maze[m_x+1][m_y])
					{
						maze[m_x][m_y]=' ';
						maze[++m_x][m_y]='@';
						}
						break;
			case 185://if(9!=m_x&& ' '==maze[m_x][m_y+1])
					{	
						maze[m_x][m_y]= ' ';
						maze[m_x][++m_y]='@';
					}
						break;
			case 186://if(9!=m_x&& ' '==maze[m_x][m_y-1])
					{
					maze[m_x][m_y]= ' ';
						maze[m_x][--m_y]='@';
					}
						break;
			}
		
		}

}

本文地址:https://blog.csdn.net/Oliverxuc/article/details/107324267

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网