Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript数组描述基于网格的游戏? 我的目标_Javascript_Arrays - Fatal编程技术网

如何使用JavaScript数组描述基于网格的游戏? 我的目标

如何使用JavaScript数组描述基于网格的游戏? 我的目标,javascript,arrays,Javascript,Arrays,我正在设计一款基于网格的JavaScript游戏,它松散地基于D&D。游戏场地是一个8x8网格的“地下城”。这些单元由相邻单元共享的“墙”分隔 下面是一个快速示意图,显示了比赛场地: 我的问题 我如何用JavaScript描述游戏场?最明显的答案是数组,对吗?但是,我该如何跟踪牢房的可选墙呢?在我的示例草图中,可以看到墙是如何共享的。不知何故,我需要能够分辨出左边细胞图片的东墙和右边细胞图片的西墙是一样的 有没有关于如何跟踪房间和墙壁的想法 多谢各位 John一种方法是使用整数数组和位逻辑来切

我正在设计一款基于网格的JavaScript游戏,它松散地基于D&D。游戏场地是一个8x8网格的“地下城”。这些单元由相邻单元共享的“墙”分隔

下面是一个快速示意图,显示了比赛场地:

我的问题 我如何用JavaScript描述游戏场?最明显的答案是数组,对吗?但是,我该如何跟踪牢房的可选墙呢?在我的示例草图中,可以看到墙是如何共享的。不知何故,我需要能够分辨出左边细胞图片的东墙和右边细胞图片的西墙是一样的

有没有关于如何跟踪房间和墙壁的想法

多谢各位


John

一种方法是使用整数数组和位逻辑来切换位以指示设置

例如:

const NORTH_WALL = 1   // 0001b
const WEST_WALL = 1 << 1  // 0010b
const EAST_WALL = 1 << 2  // 0100b
const SOUTH_WALL = 1 << 3 // 1000b
const ALL_WALLS = NORTH_WALL | WEST_WALL | EAST_WALL | SOUTH_WALL


哇!多么不可思议的解决方案。我不认为这个问题的答案会像你的代码那样复杂(相对于我的经验)。我对测试结果印象深刻。更重要的是,你只提供了这个简单游戏的大部分逻辑,你留给我的代码要学习,直到“啊哈!”那一刻(大多数开发人员都不熟悉)!我一直避免学习逐位操作,因为我从未在web开发领域看到这种需要。直到现在。非常感谢,罗伯。如果你今晚耳鸣,那就是我妻子在诅咒你,哈哈。学习时间到了!不客气!我很高兴能帮上忙:)