我正在尝试使用express和socket.io创建一个2人游戏。游戏很简单,所需的数据结构是一个矩阵。有没有办法将此矩阵附加到房间并对其进行更改。或者我应该将矩阵连接到两个插座,并以这种方式进行?
答案 0 :(得分:0)
没有支持的方法将您自己的数据添加到房间对象。您当然可以将矩阵放在socket.io对象上,这可能是最简单的解决方案。这会产生一些限制,因为套接字永远不会出现在一个以上的游戏中,一旦用户断开连接,矩阵就会丢失(可能是那些限制)。
另一种方法是使用您自己的Map
对象,其中键是房间名称,值是矩阵。因此,无论何时为新房间创建矩阵,只需将其放在自己的地图中即可。
// create matrix map
let matrixMap = new Map();
// set a matrix for a room
matrixMap.set(roomName, newMatrix).
// get a matrix for a room
let matrix = matrixMap.get(roomName);