拓扑性
我们将探讨探险地图的拓扑性与其应用,不感兴趣的读者可以跳过前面的理论部分。
区域连通性
对实数域上的连续映射,我们定义其为𝑓满足对任意开球 𝐵(𝑓(𝑥),𝜀)都能找到开球 𝐵(𝑥,𝛿)使得 𝑓(𝐵(𝑥,𝛿))⊂𝐵(𝑓(𝑥),𝜀)。但对于以整点二元组为单位构成的探险地图,此定义条件显得过于强了。我们不妨以整点二元组为基础定义一下地图的离散连续映射。为此,我们先定义离散开球:
邻点
对格点P=(x,y),定义集合 NB(P):={(x+1,y), (x-1,y), (x,y+1), (x,y-1)}为点P的邻点集。
不难发现此即整点集在曼哈顿度量上定义的开球的边界。显然这样的邻点定义是符合探险中玩家或怪物的移动直觉的。
我们回忆QQTPVE的地图障碍是以每两个邻点的交界线段为单位划分的。所以我们定义两个邻点A,B为连续邻点,如果其交界的线段是不阻挡的(L(A,B)=0)。
路径
序列P={P_0,...,P_n}={(x0,y0),...(xn,yn)}称为域D上的一条路径,如果对任意的 P_t (其中0≤t≤n-1)都有 P_{t+1} ∈ NB(P_t)。
我们称p_0是这条道路的起点,P_n是这条道路的终点。
环路
我们称序列P是一条D中的环路当且仅当 P_0=P_n。
对于路径P我们并不要求 {0,...,n}→P 是单射,即一条道路可以自相交。显然每一条环路一定是自相交的,因为起点和终点相交。
连续路径
路径P={P_0,...,P_n}称为域D上的一条连续路径,如果对任意的 P_t (其中0≤t≤n-1)都有 L(P_n, P_{t+1}) = 0。
连通域
我们称域D是连通的,当且仅当对任意 𝑥,𝑦∈D,都能找到一条D中从𝑥到𝑦的连续路径P,即P_0=𝑥,且P_n=𝑦。
区域亏格
邻界
在域D中,如果两条邻点交界线段L_1与L_2恰有一个交点(且在某格的顶点上),则称这两个交界线段为邻界。
不难发现在某一格点集合S上,对S的任意线段边界L,其邻界构成一个交界线段集的等价类[L]。
最大边界集
对于在域D中的路径P,其最大边界集sup{∂P}为其最大的边界线段等价类。
洞
在域D中,如果存在在同一邻界等价类中的邻点交界线段集{L_i},存在某个环路P,使得对任意集合中的线段L_i都恰好在P的最大边界集的内部中(L_i∈Int(sup{∂P})),则称此交界线段集为一个洞。
