浏览道具列表时,调整每页条数可能使原来的页码失去意义。如果希望继续看到同一个条目,应保存条目的全局位置,再用新条数计算页码和页内位置。

以下是为了练习规则阅读而设计的独立场景。所有输入在这里完整列出,可以先自己记录结果,再对照后面的计算。它不声称对应某款现成游戏;如果实际说明中的边界或处理顺序不同,应以该说明重新演算。

条件与输入

本例条目顺序和总数保持不变,全局索引从零开始,显示页码和行号从一开始。切换条数不会换掉选中项,也没有分页时自动删除或重新排序。

页码为索引整除每页条数再加一;页内行号为余数加一;总页数向上取整。

总条目77,选中全局索引70,也就是列表第71项 依次试用每页条数[3, 12, 15, 5, 11, 14, 13, 8]

逐项复盘

每页3条:共26页,选中项在第24页第2行;本页全局索引从69到71。

每页12条:共7页,选中项在第6页第11行;本页全局索引从60到71。

每页15条:共6页,选中项在第5页第11行;本页全局索引从60到74。

每页5条:共16页,选中项在第15页第1行;本页全局索引从70到74。

每页11条:共7页,选中项在第7页第5行;本页全局索引从66到76。

每页14条:共6页,选中项在第6页第1行;本页全局索引从70到76。

每页13条:共6页,选中项在第6页第6行;本页全局索引从65到76。

每页8条:共10页,选中项在第9页第7行;本页全局索引从64到71。

最后一种排版仍指向全局第71项,其页码和行号为[9, 7]。

如何自行核对

将显示页码减一后乘每页条数,再加显示行号减一,应当还原相同的全局索引。最后一页可能不足整页,不能凭空补出不存在的条目。

若后面还要改变排序,应该先用条目的稳定标识找回它的新索引,再进行分页计算。仅保留旧页码或旧位置并不能保证仍选中同一件道具。

练习时保留原输入,只改一处条件,再观察哪些结果发生变化。若结果与预期不同,先查编号起点、边界是否包含以及前一步留下的状态。这样的记录能把“感觉不对”变成可复现的问题,也更方便向同伴说明自己的判断依据。