本篇用一份独立的虚构游戏记录练习连击间隔与断连。先按规则预测最后状态,再逐行对照运算,可以找出差异究竟来自输入、边界条件,还是结算先后。下面所有数值都只服务于这一道练习。
先读清楚本例规则
相邻成功命中的间隔不大于4秒时连击继续,否则重新从1段开始。每次命中按当前连击段数乘10计练习分。
命中时刻(秒):0,1,6,10,11,14,17,22,26,30
为何这样记录
连续输入不代表连续命中,也不必然形成一条连击。本例只研究已经确认命中的时间记录,通过相邻间隔判断是否需要重新从第一段计数。
检查的是相邻两次命中的间隔,而不是从第一下到当前的总时长。恰好等于允许间隔时仍可连上,只有超过边界才断开。
逐步演算
第1次在0秒命中,此前没有命中,从1段开始;当前1段,本次计10分,累计10分。
第2次在1秒命中,间隔1秒,没有超过上限,延续上一段;当前2段,本次计20分,累计30分。
第3次在6秒命中,间隔5秒,超过上限,重新从1段开始;当前1段,本次计10分,累计40分。
第4次在10秒命中,间隔4秒,没有超过上限,延续上一段;当前2段,本次计20分,累计60分。
第5次在11秒命中,间隔1秒,没有超过上限,延续上一段;当前3段,本次计30分,累计90分。
第6次在14秒命中,间隔3秒,没有超过上限,延续上一段;当前4段,本次计40分,累计130分。
第7次在17秒命中,间隔3秒,没有超过上限,延续上一段;当前5段,本次计50分,累计180分。
第8次在22秒命中,间隔5秒,超过上限,重新从1段开始;当前1段,本次计10分,累计190分。
第9次在26秒命中,间隔4秒,没有超过上限,延续上一段;当前2段,本次计20分,累计210分。
第10次在30秒命中,间隔4秒,没有超过上限,延续上一段;当前3段,本次计30分,累计240分。
结果与交叉核对
最大连击5段,最后保持3段,总练习分240。
重新起算的位置为第3、8次命中。断连只影响后续段数,本题不会扣回已经取得的分数。
自己怎样练习
自己复核时,可以把纸分成“操作前状态、这一条输入、操作后状态”三栏。先遮住解答完成一遍,再只查找第一次出现分歧的位置;后面的错误往往只是前一步状态传递的结果。确认规则没有改变后,再重新继续,避免只改最终答案却保留中间错误。
第二轮练习只改一条输入,提前写下你预计哪些后续步骤会变化,再重新演算验证。不要同时更改多个条件,否则很难分清是哪条规则造成差别。若实际游戏还涉及随机结果、其他角色、装备或额外判定,应先把这些条件补入记录,本例不会替它们作假设。
