所以我想用C语言中的2D数组表示一个长度为5x4(行x列)的矩形迷宫.但是,我无法确定实际需要放入2D阵列的内容.
int a[5][4] = {
{},
{},
{},
{},
{},
};
Run Code Online (Sandbox Code Playgroud)
这是2D数组的骨架,每行中将有4个值,我假设这些值中的每一个都是一个整数,它告诉我们迷宫中单元格的属性.我的问题是,这真的够了吗?单个值如何告诉机器人天气有3面墙,2面墙等
有人请赐教D:
使用特定位来表示房间的特定属性
#define ROOM_WALL_ABOVE (1 << 0)
#define ROOM_WALL_LEFT (1 << 1)
#define ROOM_WALL_BELOW (1 << 2)
#define ROOM_WALL_RIGHT (1 << 3)
#define ROOM_DOOR (1 << 4)
int a[5][4] = {0};
a[0][0] = ROOM_WALL_ABOVE | ROOM_WALL_LEFT;
if (a[x][y] & ROOM_WALL_RIGHT) printf("Cannot walk right.\n");
Run Code Online (Sandbox Code Playgroud)