我正在做一个基于瓷砖的游戏。我尝试创建一个返回数组的方法,我的角色可以根据 x,y 坐标和移动限制移动该数组。
例如,如果我输入 currentPosition:(3,3) moveLimit:1
那么它应该还给我 ((3,2),(3,2),(3,4),(4,3))
如果我输入 currentPosition:(3,3) moveLimit:2
那么它应该返回 ((3,1),(2,2),(3,2),(4,2),(1,3),(2,3),(4,3),(5, 3),(2,4),(3,4),(4,4),(3,5))
我计划通过在 x 和 y 上使所有可能的 -1 和 +1 来使用递归方法。但它的效率很低,因为可能会出现很多重复的情况,例如 +1 然后 -1 与 -1 然后 +1 相比。
任何人都知道这是否有任何好的模式?
十分感谢。