Android-Pou Connect游戏算法

Android-Pou Connect游戏算法,第1张

概述最近,我在Android上玩了一个名为Pou的简单游戏,其中一个内部游戏是野外游戏中的点点滴滴.这是一个截图,可以更好地说明情况.在游戏开始时,您会得到n对点,并且必须连接相同颜色的点.在执行此 *** 作时,您需要填充矩阵字段.生成这样的字段不是问题,但是如何确定它可以解决?我的问题是

最近,我在Android上玩了一个名为Pou的简单游戏,其中一个内部游戏是野外游戏中的点点滴滴.这是一个截图,可以更好地说明情况.

在游戏开始时,您会得到n对点,并且必须连接相同颜色的点.在执行此 *** 作时,您需要填充矩阵字段.

生成这样的字段不是问题,但是如何确定它可以解决?

我的问题是如何生成具有解决方案的字段?
这是图形问题吗?还是某种连通性问题?

当然,我总是可以提供一种蛮力的解决方案,但是我正在寻找更好的东西

解决方法:

实际上,您可以以确定矩阵可解的方式生成矩阵.

主要思想如下.假设您需要i对点,矩阵为n×n

>将i个随机选择的单元格(起点)设置为头部,并为每个单元格分配不同的颜色.
>在每种颜色的每次迭代中,将其头随机(左,右,上,下)移动到未着色的单元格中,并用第i种颜色进行着色. (如果没有合法的举动,就不要再考虑这种颜色了,这将是终点)
>完成后,没有未着色的单元格,则为电路板创建了合法的着色.
>如果存在一些未着色的单元格-这可能是一个很大的挑战,但可以肯定地修改/扩展您获得的颜色以用某种颜色填充这些区域-最简单的方法是将这些区域完全从矩阵中排除:- )

其他一些非常宽松的想法:

>通过给每个区域分配两个额外的点,可以使每个区域(包括至少两个无色单元格)合法(或至少其中一部分);
>您可以将最初的n×n矩阵拆分为较小的矩形部分,并为每个部分分配一些点数(与该区域成比例),然后使用上述方法-确保将这些部分合并回原本时,未着色的单元格更少(另一方面,难题会容易一些).

更新

>一旦仍然处于着色阶段,如果下一个动作产生单个孤立的单元格:请选择一个不同的动作,如果不存在这样的动作,则停止对该颜色的着色过程.
>如果要具有预定义数量的点(或其附近的数字),则不仅要检查单个隔离的单元格,还要检查整个隔离的区域. [顺便说一句.介意通过扩展其起始点为隔离区域着色的可能性]
>对于相对较小的n,您可以尝试使用上述方法,直到完全着色为止(因此生成,请检查是否合法,如果不合法:请再次生成)

更新二

如果您有时间,可以尝试一次生成一种颜色,并且有一定的停止可能性,这取决于颜色的长度/面积.因此,基本上只需选择一个随机的无色位置并执行上述方法即可.它应该更容易实现.

总结

以上是内存溢出为你收集整理的Android-Pou Connect游戏算法全部内容,希望文章能够帮你解决Android-Pou Connect游戏算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存