求三人斗地主自动出牌算法

LoveYouSelf 2012-11-26 02:09:11
最近使用win32在写3人斗地主游戏。

先说下进展吧!
1、前台界面已经完成,能实现点牌出牌的效果。
2、后台的牌型判断算法和牌比较大小算法也已经完成,能实现将牌选中后打出。

未完成的地方主要是:
该如何实现电脑的自动出牌。
本人设计的每个玩家都是又20个长度的数组。
当别人打出牌的时候,我要能根据自己手中的牌将合适的牌打出。

有没有人能给些具体思路,我感觉一想就想的超级复杂的!

我设计的数组是个结构体数组,主要有两个元素一个是标示这张牌,还有一个是标示这张牌是否被选中的。
所以在实现电脑自动出牌的时候我会去修改这个是否被选中的标记。这样就可以利用玩家出牌的函数来实现电脑的出牌。至于该怎么出,我真的有点晕,不敢深想。
...全文
1699 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangdongzi 2014-10-15
  • 打赏
  • 举报
回复
楼主 做出来吗?求解
LoveYouSelf 2012-11-27
  • 打赏
  • 举报
回复
引用 3 楼 seaskyyoyo 的回复:
你不说的挺清楚的嘛,一共才不到20张牌,一共才几种组合啊,傻办法也能做啊。循环一遍就行了呗,单张,对子,三带一,顺子,炸弹,四代二,没几种啊,case一下就行了,在一个循环,。。。设计好了,也就100行代码吧
这位兄弟,你开玩笑吧,100行搞定,我觉得1000行搞定都要算法写的非常简练。 想少了!
LoveYouSelf 2012-11-27
  • 打赏
  • 举报
回复
引用 6 楼 tiger9991 的回复:
是不是当初数据结构设计的问题呢? 每次出牌,都带附属参数,就是出牌类型。 根据每次出牌类型,来匹配能出的牌。 逻辑简单,就是工作量的问题。
主要是每张牌的他的附加参数只有一个,这个附加参数不是标明他的类型,只是标明他是否被选中。 我觉得我想的算法还行,的确是工作量的问题,说句实话,各种牌型判断下出牌不是那么好做,因为总共有14种牌型,就算每种牌型写100行代码也要1400行代码,当然1400行代码也不多但是总有点觉得自己饶了远路,而且我看别人写的代码没有我写的那么复杂,所以才会问问到底怎么优化。
傻X 2012-11-26
  • 打赏
  • 举报
回复
是不是当初数据结构设计的问题呢? 每次出牌,都带附属参数,就是出牌类型。 根据每次出牌类型,来匹配能出的牌。 逻辑简单,就是工作量的问题。
若风09 2012-11-26
  • 打赏
  • 举报
回复
fenshucangku 2012-11-26
  • 打赏
  • 举报
回复
http://www.mofei.com.cn/h/294738.shtml http://www.docin.com/p-336117818.html
seaskyyoyo 2012-11-26
  • 打赏
  • 举报
回复
你不说的挺清楚的嘛,一共才不到20张牌,一共才几种组合啊,傻办法也能做啊。循环一遍就行了呗,单张,对子,三带一,顺子,炸弹,四代二,没几种啊,case一下就行了,在一个循环,。。。设计好了,也就100行代码吧
LoveYouSelf 2012-11-26
  • 打赏
  • 举报
回复
引用 1 楼 seaskyyoyo 的回复:
打出合适的牌?怎么个合适法,比它大就行呗,还是啥,没说明白啊,等你说明白就会写了
如果是上家出牌的话,打出的牌至少是q以上的,没有的话,要从大的开始打,如果是下家出牌则应该尽量从小牌打,但是下家打出超过Q的牌 上家不就要。 地主打牌能接的就接。
seaskyyoyo 2012-11-26
  • 打赏
  • 举报
回复
打出合适的牌?怎么个合适法,比它大就行呗,还是啥,没说明白啊,等你说明白就会写了

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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