大牛们请教一个算法问题

三消类游戏:
点击加一时出现三个及以上相同数字,如何让待消除的数字都移动到点击方块,如何寻找最优路径移动到点击方块,只能左右上下移动,不能斜着移动,而且只能沿着待消除方块路径移动

下图举例截图,并非实际游戏,类似5*5方块游戏…

顶…

都没明白啥意思。。。都是格子,用a星寻路找路径啊

就是所有待消除方块都移动到点击方块然后消失,消失后点击方块加一,就是形成移动消失加一效果,也就是移动合并的效果…

总共也没多少格子,如果你用二维数组或者map管理的格子,那么很容易定位到待消除方块与目标方块的坐标关系,怎么移动就很简单了,也可以套用A星算法,也可以自己写一个路径生成,推荐后者,因为没啥好寻路的,就算用最普通的遍历生成路径也花不了多少时间

我做过类似的游戏, 用的方法就是map遍历.

这个移动也是有要求的,离目标方块近的先动,然后远的依次移动

目标方块有很多种情况,在中间、在边缘等等情况,而且考虑远近移动

都可以做到的,只是逻辑问题而已,你能定位到坐标,距离不就减一下看绝对值就搞定了,比如你把待消除的都找到了,放到一个临时数组,然后对这个数据以间距做一个排序,距离小的先移动就完事了

你是不是傻了? 0.5秒后同时移动到指定坐标, 自然离近的速度慢, 远的速度快. 最终效果是同时移动到相同位置,

而且远的也不是直接移动到目标方块,每次移动一个方块,也就是沿着待消除路径移动。

给你个提示: 你这游戏赚不回版权申请费, 建议放弃.

截图不是我开发的游戏,只是举例,类似游戏

那也不复杂的,你想你能消除的方块肯定都是相邻的,远的要走近的走过的路径其实很容易实现,再多想想吧,图纸上多画画过程,然后就清楚思路了,逻辑性的问题居多的

非常感谢!!!