请教C语言实现斗地主判断是否为飞机牌型?

Mr_Guo 2013-11-26 04:09:32
在判断牌型的时候传进来俩参数,一个存储牌的数组,一个数组长度length,其他的判断都写好了,还有飞机的不知道该怎么判断(所有这些牌型判断完之后,剩下的就是错误的牌型),因为飞机包含很多种情况:
飞机牌型包括 飞机不带其它、飞机带单、飞机带对,这么着两个三张的还好办,关键是3个三张的、4个三张的这些都是飞机,这样就不知道怎么去判断了。。
我看过网上的一个算法,它定义了一个结构体存每种牌型(单张,对子,三张,四张)都出现了哪些牌面值,结构体里面用的是vector来存,这样可以判断每个vector的大小。。但是我要用C写,只能存到数组里了,数组又不能动态的添加元素和取大小,实在是想不出办法来了。。
希望各位能给点思路。。谢啦~
下面是我在网上看到的那个算法:
struct CRAD_INDEX
{
vector <int > single_index;//记录单张的牌
vector<int> doble_index; //记录对子的牌
vector<int >three_index;//记录3张
vector<int> four_index;//记录张
}
飞机不带:three_index .sziz()*3==出牌的数量&&single_index+doble_index ==0

飞机带1张 :three_index .sziz()*3+single_index.size()==出牌的数量&&doble_index.size()==0

飞机带1对:three_index .sziz()*3+doble_index.size()*2==出牌的数量&&single_index.size()==0
...全文
2997 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Guo 2013-11-26
  • 打赏
  • 举报
回复
引用 1 楼 apple_fl 的回复:
好久没玩斗地主,已经不知道是什么,就最后那一句“但是我要用C写,只能存到数组里了,数组又不能动态的添加元素和取大小”,我的想法是结构体的成员可以存放数组的指针,用指针指向某个你想要的数组
有些启发,谢啦~
apple_fl 2013-11-26
  • 打赏
  • 举报
回复
好久没玩斗地主,已经不知道是什么,就最后那一句“但是我要用C写,只能存到数组里了,数组又不能动态的添加元素和取大小”,我的想法是结构体的成员可以存放数组的指针,用指针指向某个你想要的数组

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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