腾讯课堂视频讲解:https://ke.qq.com/course/360581?tuin=104cb0e2

1、 基于查表的lua版跑胡子判胡算法

    将所有能胡的牌型和其对应的胡息放入表中

    判断胡牌时,只需要查表得到胡息,如果表中没有此项,则不能胡,如果有,得到表中的胡息,加上跑、提、碰、偎的胡息,如果大于最低胡息,就能判断是否胡牌。

    代码:https://github.com/yuanfengyun/qipai/tree/master/phzlib_lua

    优点:速度极快

    缺点:表会占用一定内存,如果用字符串存储,有60M左右,如果用二进制,则是20M

 

2、基于回溯的c语言版

    1、去除不能拆解的坎

    2、拆解小牌  分别深度拆解为顺子、小小大的绞、大大小的绞、二七十,小牌拆解完后,拆解大牌

    3、拆解剩余胡大牌,大牌只需要去除 贰柒拾后,按顺子拆解就行

    4、如果不能完成拆解,则不能胡

    5、获取最大的小牌和大牌胡息和,然后加上坎的胡息、跑、提、碰、偎的胡息,如果能达到最低胡息,则胡了。

    代码:https://github.com/yuanfengyun/qipai/tree/master/phzlib_c

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐