社区
C++ 语言
帖子详情
c++斗地主实现
asyuae
2012-05-16 11:41:40
最近用 C ++实现一个斗地主的程序,但是总感觉自己的关于牌之间大小比较部分做的很烂(比如 双王 最大,三K带一大于三Q带一......),想在这里寻求大家的帮助,看看有没有什么好的算法
我是用类中设计一个类,表示一次出出去的牌,通过这几张牌的张数然后进一步遍历判断牌的类型,然后比较,不知道又没有好的方法
...全文
533
3
打赏
收藏
c++斗地主实现
最近用 C ++实现一个斗地主的程序,但是总感觉自己的关于牌之间大小比较部分做的很烂(比如 双王 最大,三K带一大于三Q带一......),想在这里寻求大家的帮助,看看有没有什么好的算法 我是用类中设计一个类,表示一次出出去的牌,通过这几张牌的张数然后进一步遍历判断牌的类型,然后比较,不知道又没有好的方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asyuae
2012-05-17
打赏
举报
回复
还想追加问一句:
第三种做法:
定义一个拥有54个元素的一维数,依次赋值为1------53, 随机54次,每次随机出一个数字,和第i个位置的数字交换,这样就比较不错了
[html] view plaincopy
int CardValueArray[54];
for(int i=0;i<54;i++)
{
CardValueArray[i]=i;
}
for (int i=0;i<54;i++)
{
swap( CardValueArray[i], CardValueArray[(rand()%54)]);
}
比如说,先随机出一个位置,和第一个数字交换,然后随机出一个位置,和第二个数字交换 打个比方,先随机出10,然后第十个数字,和第一个数字交换 然后随机出一个12,第12个数字,和第2个数字交换 然后随机一个数字和第三个交换.
关于这段代码为什么结果一定是随机的
asyuae
2012-05-17
打赏
举报
回复
写得好棒~~膜拜
网址在这里,大家可以去看
http://blog.csdn.net/wojiushi3344/article/details/7522245
q2920
2012-05-16
打赏
举报
回复
在论坛首页有个C++都地主的算法 你去看看
c++
斗地主
游戏源代码
c++
斗地主
源代码,例子简单,下载好包,配置路径环境,运行通过,界面非常不错,不过没有
实现
通信
C++
斗地主
游戏源代码及
实现
用
c++
做的
斗地主
游戏源代码,可以直接运;对于学习
C++
的朋友相信会有不少帮助
C++
语言基础视频教程
C++
语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍
C++
语言中的封装、数据隐藏、继承、多态的
实现
等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性
实现
等。课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用
C++
语言解决问题,具备进一步学习利用
C++
开发应用程序的基础。
C++
实现
的
斗地主
游戏
本项目
实现
了
斗地主
游戏的玩法,它包含了获取所有的牌型等功能。
基于
C++
实现
的简单的人工智能单机
斗地主
游戏【100012390】
分析选牌牌型 先分析选牌是否为王炸,如不是则进行第二步; 找出选牌中相同权值的最大数量; 根据最大数量判断是否为相应的有效牌型。 分析手牌并拆分成有效牌型 判断牌型集合是否为空,不为空就不需要分析直接返回,否则进行第二步; 由当前玩家手牌(0-53格式)生成权值牌集合(3-17格式); 先拆分出权值牌集合中的基本牌型,分析的顺序为:王炸 → 炸弹 → 单顺 → 双顺 → 三顺、三条 → 一对 → 单张; 然后又基本牌型尝试组合成更复杂的牌型:三带一、四带二、飞机等。 出牌/跟牌分析 是否需要重新分析手牌,分析完成后进行第2步; 直接出牌(最后出牌方为自己); 如手牌数为2,则先出王炸、炸弹、数量最多、权值最大的牌; 如下家为我方,其手牌数为一,则出最小单牌;如下家为敌方,其手牌数为一,尽量不出单牌,或出最大单牌; 其他正常出牌顺序为:单牌(A以上的牌尽量不直接出)→对子→双顺→单顺→三条、三带一、飞机 跟友方牌(最后出牌方为我方) 手牌把数≤2,应出对应牌或炸弹,否则过牌 上家为地主且未跟牌,过牌 有对应牌,且权值小于14,则跟,炸弹不跟; 跟敌方牌(最后出牌方为敌方) 有对应牌就跟, 没有就拆, 再着用炸弹,否则就过牌
C++ 语言
64,639
社区成员
250,578
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章