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