循环调色可以通过改变颜色编号来表现流动或闪烁,而不移动图形本身。如果透明编号也参与轮换,原本空白的地方就可能出现颜色,破坏轮廓。

下面是一组独立的虚构游戏输入与逐步结果。先记录单位、编号和端点是否包含,再尝试自己推算,最后对照第一处差异。所有结论都以本例规则为前提;其他作品采用不同约定时,应按它自己的说明重新计算。

本例规则与数据

图像只记录整数色号,零号固定透明,其余一到颜色数参与循环。偏移可为负,非零色号按循环次序移动,零号始终保持。本文记录的是逻辑色号,不计算具体颜色、亮度或视觉效果。

非透明色号1到7 [4, 0, 4, 7, 0, 1] [6, 4, 1, 0, 3, 5] [2, 3, 5, 4, 1, 0] [3, 6, 3, 3, 2, 7] 偏移[0, 7, -7, -18, -15, 18, 12, 18]

过程记录

偏移0等价于向前0格,轮换后的四行依次为[[4, 0, 4, 7, 0, 1], [6, 4, 1, 0, 3, 5], [2, 3, 5, 4, 1, 0], [3, 6, 3, 3, 2, 7]];透明零号位置保持不变。

偏移7等价于向前0格,轮换后的四行依次为[[4, 0, 4, 7, 0, 1], [6, 4, 1, 0, 3, 5], [2, 3, 5, 4, 1, 0], [3, 6, 3, 3, 2, 7]];透明零号位置保持不变。

偏移-7等价于向前0格,轮换后的四行依次为[[4, 0, 4, 7, 0, 1], [6, 4, 1, 0, 3, 5], [2, 3, 5, 4, 1, 0], [3, 6, 3, 3, 2, 7]];透明零号位置保持不变。

偏移-18等价于向前3格,轮换后的四行依次为[[7, 0, 7, 3, 0, 4], [2, 7, 4, 0, 6, 1], [5, 6, 1, 7, 4, 0], [6, 2, 6, 6, 5, 3]];透明零号位置保持不变。

偏移-15等价于向前6格,轮换后的四行依次为[[3, 0, 3, 6, 0, 7], [5, 3, 7, 0, 2, 4], [1, 2, 4, 3, 7, 0], [2, 5, 2, 2, 1, 6]];透明零号位置保持不变。

偏移18等价于向前4格,轮换后的四行依次为[[1, 0, 1, 4, 0, 5], [3, 1, 5, 0, 7, 2], [6, 7, 2, 1, 5, 0], [7, 3, 7, 7, 6, 4]];透明零号位置保持不变。

偏移12等价于向前5格,轮换后的四行依次为[[2, 0, 2, 5, 0, 6], [4, 2, 6, 0, 1, 3], [7, 1, 3, 2, 6, 0], [1, 4, 1, 1, 7, 5]];透明零号位置保持不变。

偏移18等价于向前4格,轮换后的四行依次为[[1, 0, 1, 4, 0, 5], [3, 1, 5, 0, 7, 2], [6, 7, 2, 1, 5, 0], [7, 3, 7, 7, 6, 4]];透明零号位置保持不变。

每种结果都保留4个透明格,完整周期偏移还原原编号。

独立核对与实际应用

把非透明调色板排成一个环,按偏移逐格旋转后逐项查表,与取余计算比较。偏移一个完整周期应还原,先偏移再逆偏移也应得到原图,透明位置保持。

调色板轮换不保证每种配色都便于辨认,实际设计仍需考虑对比度和状态提示。透明编号是本例的特殊约定;如果文件格式采用独立透明通道,应先明确哪部分数据参与轮换,而不是直接套用这里的编号。

测试时先保留输入和中间状态,再只改变一个条件。空状态、正好相等、重复出现和最后一步都值得单独检查。若最终结果不符,应从第一处偏差查起,而不是在末尾随意增加补偿让数字表面一致。