2D's 3D Game 2D的3D游戏之寻找路线

· · 个人记录

最新发布:Github博客,无需阅读旧版本文章

详细题目点击这里进入查看。

初一上我们学习了三个视图。从三个视图的俯视图来看一个物体,可以把方块的高度依次表示,例如:

1 3 2

这个就表示了一个领奖台的方块样式。 在2D's 3D Game中,会有一个n * m的地图,地图的每个数就代表了对应位置的方块的高度。

现在地图认识完毕,我们来认识游戏的玩法。玩家需要从四个角(左上1,右上2,左下3,右下4)选择两个,一个作为起始点,一个作为结束点。例如选择1 4,玩家从左上角出生,移动到右下角就赢了。

移动的规则:

1.玩家可以在上下左右四个方向移动,每次能平移、上一格、下一格、下两格。(就是说你不能二段跳,最多下两格)

x 1 x
2 4 4
x 3 x

例如:图中,可以从map[1][1]去到map[1][0],map[1][2]或map[2][1],并不能从map[1][1]去到map[0][1](那样会摔死)。

2.玩家可以在左上、右上、左下和右下四个方向移动,每次可以平移;符合以下条件时,可以下一格或下两格:

标记 起始点a 障碍b
障碍c 目标点d

当b≤a且c≤a时,可以从a到d。

例如:

2 3
4 2

可以从map[1][0]去到map[0][1],其他的斜方向运动都不可以。

题目要求:

计算出从四个角中的1到2,1到3,1到4等等,每个起始点到结束点的最短路径。

移动的上 下 左 右分别输出w a s d,左上 右上 左下 右下分别输出q e z c,输出路径时不带空格。

提示:当出现类似→↓和↘同时可以走的情况,仅保留后者。

如果你想玩这个游戏,而不是找最短路径,请下载附件。