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