45岁码农用不到2年时间撸出100款扑克游戏

前言

@审核 所有涉赌名称、术语已经去除。gitee链接也去掉了,恳请给与放行。

扑克的玩法非常多,常见的就有斗地主、跑得快、五十K、拖拉机等等。在国内的不同地方,同类游戏的玩法也有不同讲究。粗略估计,国内的扑克玩法,超过上百种。

要短期内开发出这么多款扑克游戏,需要先对大多数扑克游戏进行系统的分析,归纳总结,然后打造一条流水线,每一款游戏都使用相同的框架,使用通用的零组件,等等。

本文主要内容就是讲述这个设计过程。

1.算法库

扑克游戏的历史很悠久,能够广为流行的一个原因就是上手比较容易。就算在今天,如果说一个人没读过书就学不会打扑克,这没人会相信。所以我估计扑克游戏的算法,都是比较简单的。归纳一下,一般包括:

  1. 牌的大小(包括数字、花色等);牌的数目和分数;判断几张牌相同或连续;
  2. 还需要一些对一组牌进行操作的算法,比如取出、合并等等。

基于以上的分析,我们估计可以完成一套通用的扑克的算法库,能满足所有扑克游戏。最后实践证明,扑克算法库比预期稍微复杂一点,但仍在可接受范围内。

 

此外,我们很容易发现,很多流行的手游的玩法、功能层出不穷,开发团队频繁升级迭代。相反,扑克游戏的玩法相对固定,演化相对较慢。所以,在系统设计上,我们假定扑克游戏的数量有限,玩法有限,发展慢。这样的好处是流水线设计好之后,以后改动很小,维护工作量也比较小。

 

2交互UI库

扑克游戏可以归纳出3个核心要素:牌、规则、人(玩家)。对扑克游戏的一种高度抽象的描述是:按照一定的流程和规则,每个人通过选择选项、选择牌、选择数值,来争取获胜的一种游戏。

归纳了一下,玩家的行为包括以下3种:

  1. 对游戏流程中的选项,做出选择

比如斗地主中的叫地主、不抢,都是玩家自己要做的一种选择。出牌的时候选择不出,也是一种选择。后续会将“选项”称之为“命令”。

  1. 按照游戏规则,对牌进行选择。

比如选择要出的牌,分组摆牌等。

  1. 对数值(分数)进行选择。

比如叫分。

 

以上三种玩家的行为,决定了游戏客户端需要提供哪些业务级UI库,对应下面几种:

  1. 一组按钮

由玩家选择其中一个按钮;在业务层,称为命令选择器

  1. 选牌或牌分组的UI

允许玩家在一组牌中选出符合要求的牌。牌分组UI则允许玩家将牌放入不同分组或按不同顺序排布。这2种在业务层都称为牌选择器</

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值