求助大神,这个迷宫游戏怎么用c语言编呀
请编程实现迷宫行走游戏。首先自动生成一个N*N(如20*20)的迷宫,在内部随机生成M(如100)个小方块代表墙,其余位置代表路。自行定义左上角某一位置为起点,右下角某一位置为终点。然后用户通过按键选择行走路线,然后成功走出迷宫。并且,在行走过程中能够用箭头绘制行走路线和方向。
本题涉及知识点:数组、循环、函数。
监测用户是否按键需要用到kbhit()函数,需要包含头文件conio.h。
键盘上的上下左右四个键的值分别是0x4800,0x5000,0x4b00,0x4d00。
你的这个涉及的多了,不仅仅是数组、循环、函数。还有系统的输出等,有一定难度的
若你是初学,建议先掌握基础的
以下只是生成部分,你参考下
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#define N 20
void init(int a[N+1][N+1])
{
int i,j;
srand(time(0));
for(i = 0; i <=N; i++) //外墙
{
a[i][0] = 1;
a[i][N] = 1;
}
for(j = 0; j <=N; j++)
{
a[0][j] = 1;
a[N][j] = 1;
}
a[0][1]=0; //入口
a[N][N-1]=0; //出口
for(i=1; i<N; i++)
for(j=1; j<N; j++)
a[i][j]=!(rand()%(N/3));
}
void print(int a[N+1][N+1])
{
int i,j;
for(i=0; i<=N; i++)
{
for(j=0;j<=N;j++)
if (a[i][j])
printf("▉");
else
printf(" ");
printf("
");
}
}
int main()
{
int a[N+1][N+1];
init(a);
print(a);
return 0;
}