方向输入可以立即改变期望速度,但实际速度不一定同拍跳到目标值。限制每拍速度变化量,可以把起步、刹车和反向过程表示成容易复核的记录。

本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。

规则与输入

一维整数位置,初始速度与位置给定。每拍实际速度朝期望速度靠近,但变化绝对值不超过固定上限,不越过期望值;随后用更新后的速度移动一拍。没有摩擦、地形或其他外力。

初始[位置,速度][2, -4],加速上限4 [-10, -10, -5, -8, 6, 6, -8, -9, 0, -7, 10, -5, 6, -3, 4, -10, -9]

逐步推演

第1拍目标速度-10,旧速度-4,变化-4,新速度-8,更新后位置-6;变化上限为4。

第2拍目标速度-10,旧速度-8,变化-2,新速度-10,更新后位置-16;变化上限为4。

第3拍目标速度-5,旧速度-10,变化4,新速度-6,更新后位置-22;变化上限为4。

第4拍目标速度-8,旧速度-6,变化-2,新速度-8,更新后位置-30;变化上限为4。

第5拍目标速度6,旧速度-8,变化4,新速度-4,更新后位置-34;变化上限为4。

第6拍目标速度6,旧速度-4,变化4,新速度0,更新后位置-34;变化上限为4。

第7拍目标速度-8,旧速度0,变化-4,新速度-4,更新后位置-38;变化上限为4。

第8拍目标速度-9,旧速度-4,变化-4,新速度-8,更新后位置-46;变化上限为4。

第9拍目标速度0,旧速度-8,变化4,新速度-4,更新后位置-50;变化上限为4。

第10拍目标速度-7,旧速度-4,变化-3,新速度-7,更新后位置-57;变化上限为4。

第11拍目标速度10,旧速度-7,变化4,新速度-3,更新后位置-60;变化上限为4。

第12拍目标速度-5,旧速度-3,变化-2,新速度-5,更新后位置-65;变化上限为4。

第13拍目标速度6,旧速度-5,变化4,新速度-1,更新后位置-66;变化上限为4。

第14拍目标速度-3,旧速度-1,变化-2,新速度-3,更新后位置-69;变化上限为4。

第15拍目标速度4,旧速度-3,变化4,新速度1,更新后位置-68;变化上限为4。

第16拍目标速度-10,旧速度1,变化-4,新速度-3,更新后位置-71;变化上限为4。

第17拍目标速度-9,旧速度-3,变化-4,新速度-7,更新后位置-78;变化上限为4。

最终位置-78、速度-7,总位移-80。

怎样独立检查

对每拍检查新速度位于旧速度与期望速度之间,并且与旧速度相差不超过上限;若期望仍在可达区间外,应恰好改变一个上限。累计新速度之和必须等于最终位置减初始位置。

本例先更新速度再移动,若另一实现先移动再更新,位置记录会不同。反向输入时可能先减速到零,再逐渐反向,不能把仍向前移动立刻解释为输入失效。单位是一拍的简化模型,不直接代表真实物理秒。

练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。