最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:2

【算法】三消游戏有什么算法可以优化效率吗?

 attach_img

4

帖子

7

回复

10

积分
最后登录:
2025-04-07 19:13
注册时间:
2023-03-12 21:47
楼主
  发表于:2025-04-07 23:07:18|查看用户信息

举个例子,生成一个10×10的矩阵。

定义一个存放待消除数字坐标的数组,遍历矩阵所有子集,遍历的内容是,如果数组中不存在当前数的坐标则进行判断

判断它的四个方向是否有相等的值,

递归判断这个方向的下一个数是否仍然相等。直到递归结束,如果递归次数大于一次,将这些数的坐标存入数组。

直至遍历结束。

将数组中所有坐标位置的数设置为空。

上面是消除三个以上在一起的算法。消除之后,会有一个宝石掉落填充被消除区域的过程。

这里需要一个算法。待会补充

所有宝石都掉落完成之后,消除区域到了上方。这里挺好弄的,就随机数填充空余区域。

这是我简单的思考,感觉效率很低,有大佬优化一下嘛?


补充:

三消游戏中长时间没有操作系统会进行提示,优先提示能消除三个以上的。这个算法如何实现?


3

帖子

4

回复

7

积分
最后登录:
2025-04-07 19:20
注册时间:
2023-07-20 08:45
1 楼
  发表于:2025-04-07 23:07:55|查看用户信息

三消算法不是这样的,常规三消游戏都还有各种形状的消除合成道具,各种道具合成还有优先级,不但要考虑算法性能,还要考虑扩展性。效率优化思路尽量避免冗余判断,其他也没啥。

3

帖子

5

回复

8

积分
最后登录:
2025-04-07 21:19
注册时间:
2023-07-20 08:45
2 楼
  发表于:2025-04-07 23:08:21|查看用户信息

考虑到三消游戏不会有多少地方有连续相同的情况,其实逐个遍历也不会很差。

共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录