简单Elixir游戏服设计- 游戏玩法介绍

抄以前的,做了点修改。

到目前为止,我们完成了玩家的数据和进程建模,现在介绍游戏玩法。

为什么我们还不做客户端接入、协议指定呢?为什么还没有网关和数据存储呢。在我接手的游戏,

这些通常已经定下来了,我没法改变。在我开始这个系列时,我也常常陷入这些细节而不知所措,感觉不把所有设施搞完备没法写代码。

但其实,这些和游戏服的逻辑关系不大。游戏服的本质就玩家建模、玩法等,有了这些就已经足够跑逻辑,跑测试了;

至于其他则属于外围的、较独立的东西,属于可以稍后考虑的。至于进程注册查找机制,由于它是分布式系统的关键,因此早点考虑还是

必要的,尤其它还影响你编码的风格。好了,不废话了。开始描述下扑克玩法,我们那里管它叫“抓木虱",

我不记得是具体是怎么样的了,反正下面的规则能玩就行如下

玩家数: 好像没有什么限制,只要牌够?

总牌数: 除去大小王

玩家牌数:每人开始发2张牌,最多可以补1张,也就是总共3张

单张牌的点数:A 到 10 为 1到10, J Q K 为 10

2张牌的点数 (P1 + P2) mod 10   如 6 + 3 = 9, J + 9 = 9

3张牌的点数(P1 + P2 + P3) mod 10

特殊牌: A  在三张中可以变为任意其他牌点,但不能变色

牌型:

  • 天公9点: 2张牌点数为9,在任何人补牌前翻出才算
  • 天公8点: 2张牌点数为8, 在任何人补牌前翻出才算
  • 同花顺: 3张牌连续点数并且是同花色, 我忘记允许连续方式了,假定为 n, n+ 1,n+2 (n = 2。。。J)
  • 三条: 3张点数一样的
  • 顺子:非同花3张连续牌
  • 同花: 3张同花色
  • 其他:三张或2张直接计算点数

规则是这样的:

天公9点 > 天公8点 > 同花顺 > 三条 > 顺子 > 同花 >  其他点数(三张或者两张点数)

同牌型一样大

牌局规则:

  1. 每人发2张牌后,如果9点或者8点,翻牌则算天公9点或天公8点

2. 可补一张牌,凑成三张牌;补牌为按座位顺序补

3. 最后比大小计算输赢

输赢计算

0. 基本注都一样

  1. 每个玩家赢所有比你小的,输所有比你大的,平和你一样的

2. 输赢以牌大的计算;天公赢1倍, 同花顺赢16倍,三条赢8倍,  顺子赢4倍, 同花赢2倍,其他赢1倍

大概就这样吧。下回我们开始设计牌模型。

上一篇:Javascript的语句和运算以及一些补充内容


下一篇:✍38 selenium模块