社区
数据结构与算法
帖子详情
有谁知道麻将和象棋的算法?
xxfeiyu
2001-03-11 10:34:00
加精
可以给高分!@
...全文
497
17
打赏
收藏
有谁知道麻将和象棋的算法?
可以给高分!@
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
one_add_one
2001-08-12
打赏
举报
回复
gz
xxfeiyu
2001-07-01
打赏
举报
回复
好啊
我十分乐意和你交流
我的Mail:xxfeiyu@china.com
QQ:1752326
oceanheart
2001-06-30
打赏
举报
回复
谈谈麻将算法:
我曾经在上学时候写过一个麻将程序,规则基本上和街机上的差不多,计算机可以打牌,但水平一般。我觉得难度主要有两个:一个是如何判断一幅牌是否胡了,以及胡牌的类型和番数;另一个就是计算机如何出牌。
1、我的判断胡牌的算法也许有些笨,所以有少数很特殊的牌型可能判断有误,基本思路是对每张牌编号,先排序,然后分组,按照万/筒/条/风等分组,然后再判断所有三张和两张的小组以及杠的情况,这里分组是比较困难的,很可能因为某个错误的组合而导致正确的分组判断不出来,因此要采用正向和反向两次分组,看看是否有一组符合胡牌条件,还有就是对七对等特殊牌型的判断。如果判断出来胡牌,还要进行算番和算分,算番是非常复杂的,而且工作量特别大,这可能要靠你对规则的熟悉程度,我的算法中实现了大部分常见番的判断,大约有30种(真正的麻将规则中可能名目要多很多)。
2、计算机出牌的算法也比较复杂,我的思路和上面判断胡牌类似,先是排序,分组,然后计算自己的实力,然后把对方打得牌拿过来首先判断自己能否胡,如果不能胡再判断能否吃/碰/杠等,对几种实力进行对比,最后决定出哪张牌,为了有一些变数,对很难决定的牌型采取了一些随机出牌的算法。整个算法可能比较笨,但经常也能胡牌(可能因为麻将游戏本身就存在一定的运气成分)。
当时之所以能写出来,主要是因为旁边有一个街机麻将高手,对各种牌型了如指掌。
oceanheart
2001-06-30
打赏
举报
回复
抱歉,因为我的程序是7年前刚开始学编程的时候写的,写的非常不规范,没有注释,变量命名也不规范,而且是在DOS下用Turbo Pascal写的,当时条件比较差,用的单显的8088,输入汉字都非常困难,以至于现在我自己都看不太懂了,实在不好意思贴出来,不过我可以悄悄的发给你,如果有什么好的算法也欢迎交流。
xxfeiyu
2001-06-30
打赏
举报
回复
非常感谢
能否把源程序贴上或寄到xxfeiyu@china.com
NextMorrow
2001-06-29
打赏
举报
回复
先写一个很大的棋谱库 (2000多个),写自己的评估函数和剪枝函数。一般来说,两个稍懂下棋的人在对
弈的时候,其所走的前15--25步都会与某一棋谱相符合。有很多开局棋谱,所以懂得多的人会占优势。因此,
人机对弈程序在与人对战时,前几步会在它的库中搜索,找到相符合的应对(最先应该能找到很多, 至越来
越少)。这样,经过前一二十步,机一方已占极大优势,但再往下走也找不到相符合的棋谱了。这时,脱离
棋谱,程序使用自己的对弈函数收尾。只要评估函数和剪枝函数不太差,人输。人也有可能不以常规对,但
用模式识别,仍用棋谱。若不依常规走四五步,模式识别可能无效,但人已劣势,很难胜。当然,遇见大师
就小巫见大巫了,但大师恐怕不屑与这样的无名程序对。
棋谱很多,所以很多人机对弈程序都外挂库,.exe文件内只有小库。
现在的Chinese Chess 游戏(CSDN上也有),其人机对弈都不太差。很多就是这样做(居然要注册费)。
这样做出来的程序虽然能胜过人,但所依靠的是专家系统,而非AI系统。其实是很无用的东西。毕竟,
这种程序有价值的是 AI 部分。
xxfeiyu
2001-06-28
打赏
举报
回复
A
xxfeiyu
2001-05-09
打赏
举报
回复
???
panda_w
2001-04-18
打赏
举报
回复
不过是权值之类的东东
xxfeiyu
2001-04-03
打赏
举报
回复
能详细点吗?
麻将的算法和象棋的算法有很大的不同阿,最好分开来说。
wlpwind
2001-04-01
打赏
举报
回复
我觉得其算法一般是这三种情形:
1. 写一评价函数,改棋局打分.
2. 用布局树存储各种常见棋局
3. 混合
jusonchen
2001-03-23
打赏
举报
回复
如果知道算法,可得通知我呀!!!
jusonchen
2001-03-23
打赏
举报
回复
很难呀,我也想知道
xxfeiyu
2001-03-13
打赏
举报
回复
真的没人知道它的算法吗?
难的是如何把实际问题转换为具体的数学模型啊!
各位大虾,给点启发吧?????
xxfeiyu
2001-03-12
打赏
举报
回复
当然是人工智能(AI)的算法啦!!!
@_@
xxfeiyu
2001-03-12
打赏
举报
回复
当然是人工智能(AI)的算法啦!!!
@_@
Smile_Tiger
2001-03-12
打赏
举报
回复
麻将和象棋的什么算法?人工智能算法吗?
麻将
游戏源码VB写的
麻将
游戏源码
VB写的
麻将
游戏源码 图形化 决战
象棋
麻将
游戏 VB写的
麻将
游戏源码 图形化 决战
象棋
麻将
游戏
游戏代码(
象棋
五子棋
麻将
斗地主)
这是用VC++写的游戏源代码:
象棋
五子棋
麻将
斗地主等游戏的代码
飞行棋五子棋
麻将
象棋
网络游戏源代码
飞行棋五子棋
麻将
象棋
网络游戏源代码;可以直接打开使用
VB
象棋
源代码
我的VB课程设计最终框架。算是2.0版吧。<br>可惜答辩的时候陪老婆去了,没参加,结果给了个“旷考”,郁闷。<br>这个设计思想比前面1.0要成熟些。但素材还是用的前面的QQ
象棋
里的素材。
决战
象棋
麻将
游戏
决战
象棋
麻将
游戏
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章