首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

人机对战的五子棋,该怎么解决

2012-02-08 
人机对战的五子棋我做了一个五子棋。但是不能人机对战。不知道怎么实现人机对战。怎么判断最优的那一步。所以

人机对战的五子棋
我做了一个五子棋。但是不能人机对战。
不知道怎么实现人机对战。怎么判断最优的那一步。
所以麻烦大家给点算法判断方法或者代码
谢谢!
对了我是学C#的!

[解决办法]
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
[解决办法]
看过一个例子,里面没有用到高超的AI,写了一个电脑机器人类,疯狂围剿人的棋,下哪堵哪,如果自己有4个连子,则连5。相对来说,这种方法比较简单。
[解决办法]
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。

1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),

3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),

5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Goolge什么是Alpha-Beta,

7、阅读有关人工智能和棋类搜索的文献
8、改进算法,添加开局表等

[解决办法]

探讨
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。

1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等),

3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等),

5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Gool…

热点排行