方向输入可以立即改变期望速度,但实际速度不一定同拍跳到目标值。限制每拍速度变化量,可以把起步、刹车和反向过程表示成容易复核的记录。
本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。
规则与输入
一维整数位置,初始速度与位置给定。每拍实际速度朝期望速度靠近,但变化绝对值不超过固定上限,不越过期望值;随后用更新后的速度移动一拍。没有摩擦、地形或其他外力。
初始[位置,速度][5, 5],加速上限4 [8, -3, 5, 8, -10, -1, 6, 8, 8, 2, 8, 0, 4, 10, 5, -6, 5]
逐步推演
第1拍目标速度8,旧速度5,变化3,新速度8,更新后位置13;变化上限为4。
第2拍目标速度-3,旧速度8,变化-4,新速度4,更新后位置17;变化上限为4。
第3拍目标速度5,旧速度4,变化1,新速度5,更新后位置22;变化上限为4。
第4拍目标速度8,旧速度5,变化3,新速度8,更新后位置30;变化上限为4。
第5拍目标速度-10,旧速度8,变化-4,新速度4,更新后位置34;变化上限为4。
第6拍目标速度-1,旧速度4,变化-4,新速度0,更新后位置34;变化上限为4。
第7拍目标速度6,旧速度0,变化4,新速度4,更新后位置38;变化上限为4。
第8拍目标速度8,旧速度4,变化4,新速度8,更新后位置46;变化上限为4。
第9拍目标速度8,旧速度8,变化0,新速度8,更新后位置54;变化上限为4。
第10拍目标速度2,旧速度8,变化-4,新速度4,更新后位置58;变化上限为4。
第11拍目标速度8,旧速度4,变化4,新速度8,更新后位置66;变化上限为4。
第12拍目标速度0,旧速度8,变化-4,新速度4,更新后位置70;变化上限为4。
第13拍目标速度4,旧速度4,变化0,新速度4,更新后位置74;变化上限为4。
第14拍目标速度10,旧速度4,变化4,新速度8,更新后位置82;变化上限为4。
第15拍目标速度5,旧速度8,变化-3,新速度5,更新后位置87;变化上限为4。
第16拍目标速度-6,旧速度5,变化-4,新速度1,更新后位置88;变化上限为4。
第17拍目标速度5,旧速度1,变化4,新速度5,更新后位置93;变化上限为4。
最终位置93、速度5,总位移88。
怎样独立检查
对每拍检查新速度位于旧速度与期望速度之间,并且与旧速度相差不超过上限;若期望仍在可达区间外,应恰好改变一个上限。累计新速度之和必须等于最终位置减初始位置。
本例先更新速度再移动,若另一实现先移动再更新,位置记录会不同。反向输入时可能先减速到零,再逐渐反向,不能把仍向前移动立刻解释为输入失效。单位是一拍的简化模型,不直接代表真实物理秒。
练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。
