我想要什么?
我想在PHP中编写一个函数或类/方法,它返回一个9x9网格(参见(代码:带路径的网格))中生成的路径的数组。下面是条件:
- 方块不能重叠
- 有一个方向路径(请参见下文:我拥有什么?)。此路径可以是随机的,并且需要方向。
- 可以在右侧/顶部退出并在左侧/底部继续路径(请参见下面的示例)。反之亦然。
- 步数是可变的,不能重叠。
- 返回一个数组(代码:带路径的网格)。我需要图像示例下方橙色点的坐标。实际上,从橙色点开始的坐标序列在数组中足以。但如果使用整个9x9数组网格更容易,则也可以。
我拥有什么?
- 一个空网格数组 (代码:空网格):
- 一个随机的起始位置(参见图像示例中的“Start”)
- 一个方向,在这种情况下为1234123(可以不同)(1:向上,2:向右,3:向下,4:向左)
需要额外的信息吗?
如果您需要额外的信息或有任何不清楚的地方,请问我。谢谢!
代码:空网格:
array(
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
)
代码:带路径的网格(1 = 起点,8 = 终点):
array(
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 3, 0, 2, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(6, 0, 0, 7, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
array(0, 0, 0, 8, 0, 0, 1, 0, 0),
array(5, 0, 0, 0, 4, 0, 0, 0, 0),
array(0, 0, 0, 0, 0, 0, 0, 0, 0),
)