最近由于公司的业务的扩展 增加短牌玩法, 这个短牌算法我在github上找很长时间都没有找到开源了 最后我只能自己写短牌的算法,说的挺哄人的其实我也是有参考德州扑克的算法的
1, 一张牌在内存怎么存放的
红桃A是放在int类型中 int是32字节内存存放
高16存放牌的大小 |颜色|牌的值|低8位存放牌映射数的大小
// 短牌花色 保存位置 偏移量
高16位是计算出 同花顺和同花, 顺子和高牌使用的
低8位是计算出还有其它的牌的数据
2, 所有牌型是从大到小排序的
所有牌型都是唯一的徝 这个就对应一个映射表 和加密算法一样的有一个专门的表
1, 扑克中是没有花色的区分的
唯一在有花色就是同花顺, 这个在 |位操作符就可以区汾是同花还是不是同花的
扑克中都是对应唯一值的
是判断5张牌是否是顺子还是高牌