いろんな方法があると思うけど

たとえば各マスが「部屋ID」のようなものを持ち
部屋IDが同じマスたちはすべて同じ部屋で
部屋IDがヌル(とか0とかNaNとか)なら通路とか
そういう方法もあるかもね

あるいは同じことだけどIDではなく部屋クラスのオブジェクトへの参照とか

それか逆に部屋クラスの方でその部屋に属するマスのリストを持ってもいい

あとはたとえば各マスに「北と同じ部屋か?」「西と同じ部屋か?」
を表す真偽値のプロパティを持たせるとかいう方法もあるかも

いずれにしても壁が壊れて等のイベントの際にはいちいち判断を入れて
意図通りになるように処理するしかないかと

多分そういうイベントの方が少ないケース(コード量的にも発生頻度的にも)
なのだろうから、一般的なケースが処理しやすくなるような方法にすれば
よいと思うよ