我正在研究一种 2D 自上而下的地图生成算法,我所创建的只是具有顶部/左侧点和底部/右侧点的房间。所有房间都是矩形的,除了一些偶尔共用墙壁外,任何部分都没有重叠。
我的问题是,当我有两个房间最终在它们之间共享一堵墙时,我将如何快速轻松地吐出由所述墙内的两个房间共享的“瓷砖”(或点)列表?
我有点希望像:
private List<Point> SharedTiles (Point P1, Point P2, Point P3, Point P4)
{
/*
P1 = Top Left point of room1
P2 = Bottom Right point of room1
P3 = Top Left point of room2
P4 = Bottom Right point of room2
*/
List<Point> _SharedTiles = new List<Point>();
//Magic goes here...
return _SharedTiles;
}