浏览道具列表时,调整每页条数可能使原来的页码失去意义。如果希望继续看到同一个条目,应保存条目的全局位置,再用新条数计算页码和页内位置。
以下是为了练习规则阅读而设计的独立场景。所有输入在这里完整列出,可以先自己记录结果,再对照后面的计算。它不声称对应某款现成游戏;如果实际说明中的边界或处理顺序不同,应以该说明重新演算。
条件与输入
本例条目顺序和总数保持不变,全局索引从零开始,显示页码和行号从一开始。切换条数不会换掉选中项,也没有分页时自动删除或重新排序。
页码为索引整除每页条数再加一;页内行号为余数加一;总页数向上取整。
总条目118,选中全局索引19,也就是列表第20项 依次试用每页条数[3, 6, 4, 5, 15, 13, 14, 11]
逐项复盘
每页3条:共40页,选中项在第7页第2行;本页全局索引从18到20。
每页6条:共20页,选中项在第4页第2行;本页全局索引从18到23。
每页4条:共30页,选中项在第5页第4行;本页全局索引从16到19。
每页5条:共24页,选中项在第4页第5行;本页全局索引从15到19。
每页15条:共8页,选中项在第2页第5行;本页全局索引从15到29。
每页13条:共10页,选中项在第2页第7行;本页全局索引从13到25。
每页14条:共9页,选中项在第2页第6行;本页全局索引从14到27。
每页11条:共11页,选中项在第2页第9行;本页全局索引从11到21。
最后一种排版仍指向全局第20项,其页码和行号为[2, 9]。
如何自行核对
将显示页码减一后乘每页条数,再加显示行号减一,应当还原相同的全局索引。最后一页可能不足整页,不能凭空补出不存在的条目。
若后面还要改变排序,应该先用条目的稳定标识找回它的新索引,再进行分页计算。仅保留旧页码或旧位置并不能保证仍选中同一件道具。
练习时保留原输入,只改一处条件,再观察哪些结果发生变化。若结果与预期不同,先查编号起点、边界是否包含以及前一步留下的状态。这样的记录能把“感觉不对”变成可复现的问题,也更方便向同伴说明自己的判断依据。
