练习关卡可以给连续成功附加奖励,但总成功次数与当前连续次数不能混用。一次失误只清掉连段状态,还是还会扣累计分数,也必须由规则明确规定。
以下是一组可按记录复查的虚构游戏例子。它先固定输入、单位和执行顺序,再展示每一步结果。读者可以用纸笔挑出几步核对,不需要依赖具体游戏的后台数据。
明确规则与输入
给出十八次成功或失误。成功时连续计数加一,获得基础分加奖励系数乘连续次数减一,但奖励层数最多为给定上限;失误得到零分并把连续计数归零,已经获得的累计分不扣除。
基础6,奖励系数6,奖励最多3层 成功为True、失误为False:[True, True, False, True, True, False, True, True, False, False, True, False, True, False, True, True, True, True]
完整计算过程
第1次成功,当前连续1次,本次得分6,累计6,截至此时最长连续1。失误不改写此前已获分数。
第2次成功,当前连续2次,本次得分12,累计18,截至此时最长连续2。失误不改写此前已获分数。
第3次失误,当前连续0次,本次得分0,累计18,截至此时最长连续2。失误不改写此前已获分数。
第4次成功,当前连续1次,本次得分6,累计24,截至此时最长连续2。失误不改写此前已获分数。
第5次成功,当前连续2次,本次得分12,累计36,截至此时最长连续2。失误不改写此前已获分数。
第6次失误,当前连续0次,本次得分0,累计36,截至此时最长连续2。失误不改写此前已获分数。
第7次成功,当前连续1次,本次得分6,累计42,截至此时最长连续2。失误不改写此前已获分数。
第8次成功,当前连续2次,本次得分12,累计54,截至此时最长连续2。失误不改写此前已获分数。
第9次失误,当前连续0次,本次得分0,累计54,截至此时最长连续2。失误不改写此前已获分数。
第10次失误,当前连续0次,本次得分0,累计54,截至此时最长连续2。失误不改写此前已获分数。
第11次成功,当前连续1次,本次得分6,累计60,截至此时最长连续2。失误不改写此前已获分数。
第12次失误,当前连续0次,本次得分0,累计60,截至此时最长连续2。失误不改写此前已获分数。
第13次成功,当前连续1次,本次得分6,累计66,截至此时最长连续2。失误不改写此前已获分数。
第14次失误,当前连续0次,本次得分0,累计66,截至此时最长连续2。失误不改写此前已获分数。
第15次成功,当前连续1次,本次得分6,累计72,截至此时最长连续2。失误不改写此前已获分数。
第16次成功,当前连续2次,本次得分12,累计84,截至此时最长连续2。失误不改写此前已获分数。
第17次成功,当前连续3次,本次得分18,累计102,截至此时最长连续3。失误不改写此前已获分数。
第18次成功,当前连续4次,本次得分24,累计126,截至此时最长连续4。失误不改写此前已获分数。
最终分数126,当前连段4,最长连段4,总成功12次。
独立核对与边界
把序列按失误切成若干连续成功段,分别计算每段第一个、第二个到后续成功的得分,再合并,结果应与逐拍计分相同。最长连段、累计成功数和当前连段是三个不同数字。
这是一套虚构的练习评分,不涉及交易或现实奖励。上限限制的是奖励层数,不是限制能够连续成功的次数;达到上限后连段仍增长,只是每次新增分数不再提高。
练习时只改变一个条件,先判断哪些中间步骤应当受影响,再重新计算。要把空状态、数值零和未能确定的结果分开。边界约定不同可能产生不同答案,复查的目标是确认输入、过程与规则一致,而不是只追求最后一个数字看起来相同。
