A room has three hash tables each for storing doors, items, and players in the room.
The variables selfId, belongId are the id of the room and the id of the block the room belongs to.
The variables offsetX, offsetY, Width, Height indicates the position of the room in the block and the size of the room.
The methods addDoor, addItem, removeItem, addPlayer, removePlayer ServerUpdateMove are used to construct and update the room.
The method producingMessage() is to generate a MsgRoom message of this
room and the method export(PrintStream) is to export all the mazeObjects in the room to the specified
PrintStream.