当前位置: 首页 > 网络应用技术

[教您制作迷你游戏]如何判断Win -Win?您可以在5分钟内交出代码吗?

时间:2023-03-08 14:30:31 网络应用技术

  我是公共帐户“离线政党游戏”的作者。我已经开发了一些在线棋盘游戏网页(UNO,房东,Wuzi Chess等)。我总结了一些迷你游戏的开发经验。对于所有人,欢迎来到。

  如何判断Win -Win?

  这个问题非常简单吗?适合初学者的培训。

  但是,如果您真的想迅速发展一个五个象棋,那么您一年四季都在发展业务,而且您多年来没有触及算法的人确实可能会在这个问题上感到头疼。

  因为目标是不同的:代码初学者愿意花费数小时优化对此的算法,但是业务开发人员只想在5分钟内解决此问题。

  今天,作为业务开发人员,我们在5分钟内意识到这一点。

  通常在当前棋盘上的棋盘分布信息上有两种存储方法。

  以此游戏为例:https://game.hullqin.cn/wzq/?P = 0001101102021303140

  注意:在URL参数中,代表国际象棋是第15英寸。每2个都是典当。

  有3种可能性:

  (当然,还需要判断游戏是否被束缚,但场景不多。本文不考虑该判断是否被绑定。此外,因为我的游戏中有失败的功能,所以会有没有双方无法执行任何操作的行动)

  只有最后一个国际象棋,导致五场比赛的胜利。

  换句话说:

  这个基本假设与真实的Wuzi国际象棋场景一致。

  如果您认为此问题简单而令人恶心,您只想快速地做到这一点,您可以做到这一点:

  首先找到上一款游戏的颜色,获取此颜色国际象棋的收藏:

  例如,这是一个很棒的数字,表明最后一只手是黑色,所有木偶(从0)都是黑色。

  然后穿越该系列,看看它是否在总共8个方向上有5个连续的珠子,如果有的话,他赢了;否则他没有赢。

  如果最后一只手是黑色的,它会遍历全黑:黑色作为五个珠子的顶点,看看它是否连续4个连续4个连续连续,向上,向下,左,右,右上,右上,左下,左下,左下,以及上面的右斜线,只要您发现其中任何一个,黑色赢了。

  内部有一个周期,用于遍历黑色。

  八个前缀表达式:

  这是第一行。这是第一列。

  无法省略这个前缀表达判断。考虑为什么?

  回答:

  如果您省略了,您将犯错。例如,在这种情况下,算法将被误判:

  我相信这是大多数人,我看到我可以最快地想到这个问题的暴力解决方案。尽管算法很愚蠢,但有很多地方可以通过修剪来优化,但是由于最大长度为113是列表,所以该算法不会慢得多,可以在生产环境中使用。

  我的Wuzi国际象棋的第一个版本采用了该算法,只是为了迅速添加胜利判断功能。

  如果您已经完成了产品需求并有时间优化技术优化,则可以优化2.1方案。

  (当然,产品需求不是在一生中完成的,您可能没有时间来优化它)

  在查看该计划之前,您需要强调基本的假设:只有最后一个国际象棋,这导致了特定五个联盟珠的胜利。

  最后,有4个可能的方向:上下有5个珠子,左右,左上和左上和左下以及左上方和左下的连续5个珠子。

  因此,我们判断上一场比赛中最后一部比赛的四个方向。只要连续5个方向上有5个珠子,我们就会获胜。否则,您将不会获胜。

  这也是我的Wuziqi游戏使用的解决方案。我直接发布了源代码:

  与5分钟的计划相比,它确实是加倍的。尽管两种算法的复杂性是O(n),但15分钟的方案已经遍历了很多次。

  当然,该方案的算法复杂性两个主要来自过去的遍历的开始,并产生相同颜色的集合。如果您抛开此过程,您只能谈论是否有5个连续的珠件。第二溶液的算法的复杂性是O(1),但是该方案算法的并发症是O(n)。

  此代码编写不是最精简的。您可以通过方向的数组将8个循环简化为嵌套的2或3个循环。这不会更改代码复杂性,但会缩短代码长度。

  什么是数组?

  可以统一以这种方式找到相邻国际象棋碎片的写作。通过添加一层循环,您可以将0到7传递到:

  有兴趣的朋友可以尝试简化它。我只是一个企业开发人员,所以我不会花太多时间,哈哈。

  这种算法,如果您不去自己发展“五个儿子”,您可能不会想到。但是当您这样做时,您会发现它非常有趣,而且有很多解决方案。您必须选择最适合自己的人。

  以上也是我开发在线“ Wuzi Chess”时使用的计划。要体验,游戏地址在这里:我制作了一个“在线棋盘游戏集合:UNO+房东+五-SON国际象棋”,而无需下载,玩!打电话给朋友,立即开始!不要看广告,不要执行任务,然后享受“纯”游戏!

  在开发Wuzi国际象棋时,我总是追求最终的用户体验,请参阅文章:[极其用户体验]我如何使“在线五ZI国际象棋”追求最终的用户体验?(Superior)

  如果您正在追求像我这样的最终用户体验,建议您注意该列:最终用户体验,我将分享更多文章。这绝对是整个网络的独特原始本质内容?列中的内容肯定会在阅读后获得!请赞美,请注意,谢谢?

  此外,如果您想学习玩迷你游戏,请注意我的新专栏:教您制作小型游戏,我将写一些文章,在制作游戏过程中介绍困难和解决方案。

  原始:https://juejin.cn/post/7096621807347695652