一、游戏简介
1、基于C语言的简单迷宫游戏设计
2、玩家可以通过W(上)S(下)A(左)D(右)控制小圆圈走出迷宫通关游戏
二、游戏界面 
三、游戏代码
/* 迷宫游戏.exe 1.0 */
#include<stdio.h> //标准输入输出头文件
#include<stdlib.h> //函数system():发出一个DOS命令
#include<conio.h> //函数kbhit():检测键盘是否按下; 函数getch():获取用户输入(无需回车)
#include<windows.h> //函数Sleep():将程序挂起一段时间
#define N 50
#define M 50
void Show(char maze[N][M],int n); //显示迷宫地图
void MazeUpdate(char [][M], int n);//完成与用户输入有关的迷宫更新
int main(void)
{
char maze[N][M] =
{
"*************************",
"* o*",
"* ***********************",
"* * * * * *",
"* * * *** ** * * * ** *",
"* * * * * ** ** ***",
"* *** * * * * *",
"* *** *** ***** *** ** *",
"* * * * * * *",
"* * * * ** ** **** *** **",
"* * * * * >",
"*************************"
};
int n = 12; //迷宫行数
Show(maze,n); //显示迷宫地图
MazeUpdate(maze,n); //与用户有关的更新
return 0;
}
//函数功能:显示迷宫地图
void Show(char maze[][M],int n)
{
int i;
for (i=0;i<n;i++) //显示n行迷宫地图数据
{
puts(maze[i]);
}
}
//函数功能:完成与用户输入有关的迷宫更新
void MazeUpdate(char maze[][M],int n)
{
int x = 1,y = 23; //初始位置
int exitX = 10, exitY = 24; //迷宫出口
char input;
while (x!=exitX || y!=exitY) //判断是否达到迷宫出口
{
if (kbhit()) //检查是否有键盘输入,没有就继续循环
{
input = getch(); //从键盘获取输入(不会在屏幕显示)
if (input=='a' && maze[x][y-1]!='*') //左移
{
maze[x][y] = ' ';
y--;
maze[x][y] = 'o';
}
if (input=='d' && maze[x][y+1]!='*') //右移
{
maze[x][y] = ' ';
y++;
maze[x][y] = 'o';
}
if (input=='w' && maze[x-1][y]!='*') //上移
{
maze[x][y] = ' ';
x--;
maze[x][y] = 'o';
}
if (input=='s' && maze[x+1][y]!='*') //下移
{
maze[x][y] = ' ';
x++;
maze[x][y] = 'o';
}
}
system("cls"); //清屏
printf(" 迷宫游戏.exe 1.0\n");
Show(maze,n); //显示更新后的迷宫
Sleep(100); //延时100ms
}
printf("You win!\n");
system("PAUSE"); //Windows系统下暂停程序运行
}