博客:T旋复合结构的一种命名方法

来自俄罗斯方块中文维基

这是 T 旋复合结构的一种命名方法的草稿,目标是创造一种名称与 T 旋复合结构的系统对应。

为何需要一套命名方案

在当前的 wiki 中想要检索某个 T 旋复合结构,必须先知道它的名字。 但如果只知道其结构,却不知道其名字,便无法在 wiki 上检索。 这是因为现在的结构名是约定俗成的,缺乏一种从结构到名称的系统映射,不同的结构与名称之间没有系统的对应关系。

命名方案应当满足的要求

对于这样一套系统,我们提出如下期待:

  • 从结构可以推知其名称。
    • 不需要画图,从结构可以轻易推知其名称(未做到)。
  • 从名称可以推知其结构。
    • 不需要画图,从名称可以轻易推知其结构(未做到)。
  • 对大多数我们认为不影响结构的变换,其名称应当保持不变。
    • 在场地上平移,其名称应当不变。
    • 做镜像对称,其名称应当不变(未完全做到)。
  • 兼容部分现有命名。
    • 兼容全部现有命名(未做到)。
  • 可以从名称上看出大部分结构关系(未做到)。

需要命名的东西包括什么,不包括什么

我们想要记录 T 旋复合结构。我们这里说的这种结构,需要同时满足这些要求:

  • 仅使用 T 旋进行消行。因此不包括各种All-Spin结构,也不包括进行了中间行的结构。
  • 包含不止一个 T 旋。因此STMB等结构不会被收录。
  • 不同的 T 旋之间有共用的行。这里 T 旋使用的行包括 T 块锁定时所处的行,以及形成该类型 T 旋所必须的那些行,这一部分对不同类型的 T 旋有不同的定义,例如朝下的 T2 使用的行就包括其屋檐所在的行。因此包括了双剑,因为两个 T2 共用了屋檐所在的行。

具体方案

如何描述单个 T 旋

该方案记录每个 T 旋的方向、消除的行,以及 T 块的最后一步踢墙(即最后一步踢墙满足的范式)。

具体来说,按照 T 块的方向先分为 4 种,即 T 块分别朝下、朝左、朝右和朝上的:

朝下的 T 旋
ggggPPPggg
gggggPgggg
朝左的 T 旋
gggggPgggg
ggggPPgggg
gggggPgggg
朝右的 T 旋
gggggPgggg
gggggPPggg
gggggPgggg
朝上的 T 旋
gggggPgggg
ggggPPPggg

对于每个方向的 T 旋,我们通过名称区分其最后一个踢墙,以帮助识别其周围形状。

朝下的 T 旋

朝左/右的 T 旋

朝上的 T 旋

如何描述多个 T 旋间的位置关系

我们首先记录每个 T 旋的上述信息,然后按消除顺序将每个 T 旋的上述信息连起来,在每两个 T 旋之间记录前一个 T 旋消除时下一个 T 旋的中心块相对于前一个 T 旋中心块的位置。

相关工作

据说屁( @Farter )曾给出类似工作[1],但暂时无法查知其方案,所以另行提出一套方案。

  1. 个人通讯。