游戏动态

走格子路线为什么要记住朝向:转向费6的五格地图(实例02)

2026-11-04

路线看起来短,不代表角色转身少。如果每次转向还要花费动作点,单独用格子作为搜索状态就可能丢掉真正便宜的走法。练习时应把所在格子和面朝方向一起记下来。

先固定规则和输入

本例地图只允许上下左右移动。走一格花一点,下一步方向与当前朝向不同就额外收一次转向费,掉头也只收一次。起点朝右,起终点固定为左上角和右下角,障碍格不能进入。

转向费用6,方向编号0右、1下、2左、3上;#墙,.空地 ...## ...#. ...## ##... ##.#.

把结果按步骤记下来

第1步从(0, 0)到(1, 0),朝向编号由0变为0,本步花费1,累计1。

第2步从(1, 0)到(2, 0),朝向编号由0变为0,本步花费1,累计2。

第3步从(2, 0)到(2, 1),朝向编号由0变为1,本步花费7,累计9。

第4步从(2, 1)到(2, 2),朝向编号由1变为1,本步花费1,累计10。

第5步从(2, 2)到(2, 3),朝向编号由1变为1,本步花费1,累计11。

第6步从(2, 3)到(3, 3),朝向编号由1变为0,本步花费7,累计18。

第7步从(3, 3)到(4, 3),朝向编号由0变为0,本步花费1,累计19。

第8步从(4, 3)到(4, 4),朝向编号由0变为1,本步花费7,累计26。

最低总费26,采用8步。构造地图时保留了一条只向右或向下走的八步通道;起终点曼哈顿距离也为八,因此不计转向时最少恰好八步。计入转向后的最佳路线需要另算。

自己复核的办法

先算完全不收转向费时的最少步数,再检查带朝向的最低总费用。最少步数是一个下界,但不能直接乘上固定系数当成最终答案。

建议先遮住结果,用本例原始输入独立完成一遍,再逐项对照。若出现差异,先找最早不一致的位置,检查索引从零还是从一开始、边界是否包含,以及比较或更新发生的先后。只比较最后一个数,往往无法分辨规则理解与计算步骤分别出了什么问题。

使用这个练习的边界

这里处理的是离散回合动作点,不是在估计现实运动。斜走、自动转身、原地转向和速度惯性都没有加入规则;实际关卡若允许这些动作,需要先修改状态与边的费用。