所有这些矩形都有许多属性,其中一些属性是:"X_SX“、"Y_SX”、"X_DX“、"Y_DX”(它们是矩形的左向上顶点("X_SX“、"Y_SX")和右下顶点("X_DX”、"Y_DX")的坐标。我要找到最小值 of X_SX和Y_SX,以及X_DX和Y_SX的max值。这就是我所做的: x_sx</e
下面的图片有点解释了这个想法。但如果你以前玩过矮人堡垒,我基本上是在创造3D视线,你可以忽略我的解释。(我也不在乎这个算法在这个时候有多高的效率。)sx, sy, sz是网格中的更改。例如,如果这条线路向东北方向移动,sx = 1, sy = -1, sz = 0。如果我直接往上走,就会是sx=0, sy = 0, sz = 1;等。private bool IsVisible(APoint Cur, int sx, int sy, int sz) bo