关于麻将听牌的算法

dengkz1 2006-03-03 10:37:07
假设有:
二万,三万,四万,五万,六万,七万,八万

如果听牌的话有下列:
1,(二万,三万,四万)+(五万,六万,七万)+八万---->听八万

2,(二万,三万,四万)+(六万,七万,八万)+五万---->听五万

3,(三万,四万,五万)+(六万,七万,八万) +二万---->听二万

就要判断出上面的三组听牌可能,上面的牌都有一个对应值,分别是(2,3,4,5,6,7,8)

你能谈谈你的思路吗?????
...全文
2176 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
javahp 2006-06-28
  • 打赏
  • 举报
回复
牌不错,拿到了肯定赢钱
哈哈!
Rail100 2006-06-28
  • 打赏
  • 举报
回复
>>牌不错,拿到了肯定赢钱
被鸡糊给推了
Greenberet 2006-06-27
  • 打赏
  • 举报
回复
看来麻将听/糊牌算法还真难倒不少人啊。。。

>>作为国粹的麻将,在互联网上相关的游戏编程资源如此之少,讨论的人不多,特别是与Delphi 相关的例子几乎没有,自己研究也不容易,现特建立一个QQ群专门来讨论麻将游戏的开发,如对此有兴趣的朋友请加群:6557246 (请注明:MJCSDN)

(如果您对街机:电子基盘,天开眼等有了解朋友更是欢迎)
hellolongbin 2006-03-07
  • 打赏
  • 举报
回复
全部循环次数也不好多,万饼条各9张,加上中发白也不过30次而已(简单起见,当然如果为了优化代码可以考虑加一些过滤条件)


---------------------
有没有具体点的思路,上面的都只是简单的,假如:
一万
一万
一万
二万
三万
四万
五万
五万
六万
七万
八万
九万
九万
九万

那又如何判断了,只要随便来一张万牌就能胡牌
----------------------------
你不是要听的牌么?你把一万到九万挨个试到你的胡牌函数里,可以胡就显示出来就是了
for i:=1 to 9 do
if hupai(i万) then memo1.lines.add(i万)

这样得到的就是听的所有牌了,比如
二万,三万,四万,五万,六万,七万,八万
那么Memo1里显示的就是258
一万 一万 一万 二万 三万 四万 五万 五万 六万 七万 八万 九万 九万 九万
显示的就123456789
cuteant 2006-03-07
  • 打赏
  • 举报
回复
http://www.930580.com/blog/more.asp?name=samxu&id=7

这里有个用delphi写的,你看看
智商无下限 2006-03-07
  • 打赏
  • 举报
回复
还是循环遍历的方法。
不过我感觉多加几层判断能快一些。
比如手里的牌是清一色那么就。。。
你把九连宝灯等特殊牌型单独进行处理可能会好一些。
其实我也不懂,就是喜欢玩而已。
cuteant 2006-03-07
  • 打赏
  • 举报
回复
http://www.zahui.com/html/9/35297.htm
http://www.cublog.cn/opera/showart.php?blogid=463&id=47368

以上两个都是C的实现,可以参考一下
dengkz1 2006-03-07
  • 打赏
  • 举报
回复
有没有具体点的思路,上面的都只是简单的,假如:
一万
一万
一万
二万
三万
四万
五万
五万
六万
七万
八万
九万
九万
九万

那又如何判断了,只要随便来一张万牌就能胡牌
智商无下限 2006-03-07
  • 打赏
  • 举报
回复
要不大家先打八圈,仔细体会一下需求?!
hellolongbin 2006-03-06
  • 打赏
  • 举报
回复
先写一个判断是否胡牌的函数,然后从把万饼条、中发白依次循环看是否胡牌
net_morning 2006-03-05
  • 打赏
  • 举报
回复
哈,高手啊
ganbaba 2006-03-05
  • 打赏
  • 举报
回复
你强~
  • 打赏
  • 举报
回复
抱歉,上面的想法不完整。:)
  • 打赏
  • 举报
回复
简单。
可能和的牌必定是当前手中牌中的一张,所以只要一个循环依次加入一张已有的牌,判断是否能和牌就可以了。这只是平和,为了完整可能需要再判断一些特殊的牌型。
alpsgem 2006-03-05
  • 打赏
  • 举报
回复
我是新人,不大懂,不过你可以试试把他们按序排列,然后从第i个数开始分组取值,当取到三个连续数时就把它们删除,然后得到单张就可以听牌了。i要作一个从2到8的循环。个人想法,不喜勿怪。
dengkz1 2006-03-05
  • 打赏
  • 举报
回复
高手到哪去了呀,说说思路也行呀
dengkz1 2006-03-04
  • 打赏
  • 举报
回复
没有人能算出来吗????????

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧