我帮你想算法,如果你写不出来……我建议你再好好看书,要不然就放弃学这个吧……
王:计算起始与目标位置的纵坐标之差和横坐标之差,取较大值即为步数;
后:判断起始与目标位置如果在同一行、同一列或者同一斜线,如果是则步数为1,如果不是则为2;
车:判断起始与目标位置是否在同一行或者同一列,是则为1,否则为2;
象:稍微复杂,先判断是否在同色格(颜色可以通过纵横坐标之和的奇偶性判断),如果否,则输出Inf;如果是,则判断起始与目标位置是否在同一斜线,是则为1,否为2。
以上如果不明白或者需要解释原因请补充或者hi我。
p.s.怎么没有马呢……那个比较有挑战性……