企业文化

游戏规则研习:横竖连续同色的联合标记(案例15)

2026-10-23 1

棋盘上识别三连时,横向与纵向可能同时命中同一格。先分别找出所有连续段,再取格子的并集,才不会让交叉点被重复计数。

下面给出一组可以从头复算的练习数据。先按约定记录每一步,再比较最后的核对条件;遇到差异时,不急着修改答案,而是先找出从哪一步开始不同。本例描述的是明确限定的游戏规则模型,不代替某款作品自己的说明。

约定与输入

本例六行六列,连续三格或更多同色都标记,仅横竖有效。只识别当前棋盘,不执行消除、补位或生成新格,因此没有后续连锁计算。

每段三连窗口都标记其格子;较长同色段可能被多个窗口命中,使用集合合并去重。

坐标为列x、行y,均从0开始 CDDCAB ADBABA CDCACB DDADBC CCCDDC DDAAAA

逐步观察

第0行CDDCAB,横向命中列[]。

第1行ADBABA,横向命中列[]。

第2行CDCACB,横向命中列[]。

第3行DDADBC,横向命中列[]。

第4行CCCDDC,横向命中列[0, 1, 2]。

第5行DDAAAA,横向命中列[2, 3, 4, 5]。

第0列,纵向命中行[]。

第1列,纵向命中行[0, 1, 2, 3]。

第2列,纵向命中行[]。

第3列,纵向命中行[]。

第4列,纵向命中行[]。

第5列,纵向命中行[]。

横向7格,纵向4格,交叉0格,合并后11格。

复核办法

对每个格子分别向两侧延伸,检查经过它的横段或竖段是否至少三格。得到的格子集合应与逐段扫描一致,最终数的是格子而不是命中片段的数量。

一段四连包含两个三格窗口,但实际只有四个格子。统计奖励或动画目标前,必须先明确统计单位是格子、连续段还是窗口,本例的答案只表示格子集合。

把边界、顺序与适用范围写进记录,比只记一个最后数字更有用。可以另外构造刚好在边界、完全没有变化和多个条件同时成立的情况,查看规则是否仍自洽;若要改变设定,保留原案例作为对照,再重新计算受影响的部分。