社区
C#
帖子详情
人机对战的五子棋
藍色_斯坦福橋
2008-11-11 01:19:31
我做了一个五子棋。但是不能人机对战。
不知道怎么实现人机对战。怎么判断最优的那一步。
所以麻烦大家给点算法判断方法或者代码
谢谢!
对了我是学C#的!
...全文
148
8
打赏
收藏
人机对战的五子棋
我做了一个五子棋。但是不能人机对战。 不知道怎么实现人机对战。怎么判断最优的那一步。 所以麻烦大家给点算法判断方法或者代码 谢谢! 对了我是学C#的!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dsfsdfasdfsafsafas
2009-05-19
打赏
举报
回复
[Quote=引用 6 楼 ProjectDD 的回复:]
多步计算,如果能计算到2步以后我觉得就可以了,如果能计算到3步那可能就比较利害了
[/Quote]
hehe
danjiewu
2008-11-12
打赏
举报
回复
[Quote=引用 4 楼 gomoku 的回复:]
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。
1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),
3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),
5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Gool…
[/Quote]
其实搜索好搞定,难的是估值。
另外如果要严格点的话光一个禁手判断就很难了。
ProjectDD
2008-11-12
打赏
举报
回复
多步计算,如果能计算到2步以后我觉得就可以了,如果能计算到3步那可能就比较利害了
藍色_斯坦福橋
2008-11-11
打赏
举报
回复
虽然看不太懂。不过还是谢谢!
gomoku
2008-11-11
打赏
举报
回复
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。
1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),
3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),
5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Goolge什么是Alpha-Beta,
7、阅读有关人工智能和棋类搜索的文献
8、改进算法,添加开局表等
wangzhe1945
2008-11-11
打赏
举报
回复
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
wangzhe1945
2008-11-11
打赏
举报
回复
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
Code従業員
2008-11-11
打赏
举报
回复
我昏,你这些要写个AI,没有这样好搞的。
人机
对战
五子棋
c++源码
人机
对战
五子棋
c++源码
人机
对战
五子棋
c++源码
人机
对战
五子棋
c++源码
c#局域网--
人机
对战
五子棋
c#局域网--
人机
对战
五子棋
java swing
人机
对战
五子棋
这个小程序是我1年多前自己写着玩的,当时不懂这么多,两个个文件就搞定了,写的也不规范。 ai不是很智能,只是会搜索当前局面的最优解,评分规则是我从网上找的一个。大概介绍一下这个规则: 能成死二(当前位置下子后,可以有两颗子连在一起,但是一端有对方的一颗子或者边界阻挡),20分; 能成活二(当前位置下子后,可以有两颗子连在一起,两端没有对方棋子或者边界),80分; 能成死三,180分; 能成活三,800分; 能成死四,1200分; 能成活四,2000分; 能成五连,10000分; 程序遍历所有空白点,算出4个方向(横、竖、左斜、右斜)的分数和,算每个点的分数,然后选择所有节点中分数最高的一个落子。当时参考了一个别人的程序,他在程序中设定只搜索8x8的空间,怕电脑承受不了,我自己实现后并没有发现这个问题。
人机
对战
五子棋
程序(C++)
人机
对战
五子棋
有人先机后和机先人后两种模式
基于Android实现的简单的
人机
对战
五子棋
游戏基于Android实现的简单的
人机
对战
五子棋
游戏
基于Android实现的简单的
人机
对战
五子棋
游戏 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
C#
110,578
社区成员
642,558
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章