首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pythonAI五子棋

文末给链接

大概一个半月前,突发奇想写一个AI五子棋,顺便熟悉下机器学习的内容。经过一个多月的努力(其实我也没有天天在写,有点想法了就写写),我终于放弃了。是的,我放弃了!!!坚持就是胜利,放屁。还TM有句话:选择大于努力。没错,我选择放弃!原因嘛?方向努力错了,应该是先好好学习机器学习再来写游戏。还有自己太菜,机器学习的内容一个知识点我要花半天来理解,然后再花半天来写代码,最后花半天调试。要是遇上神经网络,还得花半天训练。都是晚上抽空在写的,寂寞的夜,我的泪。所以我决定,先滚去系统学习机器学习,再来说这个。不过虽然放弃了,不过这个半成品还是有点可玩性的。要是各位肯赏个脸,就下载去玩玩咯。我直接打包好了点开就能玩,链接在文末。

一.五子棋的架构1.主程序:gobang.py

这个程序文件包括了两个类Gobang()和Robot()类

Gobang主要实现玩家与电脑交互的界面,如下图:

Robot是基于基本规则设计的一个简单的智能程序,主要在对局中对与每一个点价值的判断,然后综合起来后电脑选择最有价值的点来下。

如何判断一个点的价值:

在棋盘上,一个点有四个方向,横竖左斜右斜。但电脑要在这里下棋时候,就会先判断在这四个方向上的总价值是多少。

举个例子,点一在这里可以形成连五,那么价值就是10000,点二只能形成活四,那么这个点的价值就是5000。所以电脑在判断完所有的点后,会选出一个价值最大的点下。比如点一。

附.五子棋的一些术语:连五,活四,活三,活二,眠四,眠三,眠二

2.SGFfile.py

这个没啥好讲的。当时在网上下载棋谱的时候,只能自己写一个程序来帮忙处理棋谱,让我的读出来,也可以帮助我将棋局生成棋谱。

3.CNN.py

CNN神经网络。去年很火的alphago就是用这个网络训练出来的,只不过他13层,我的才五层。这个真的也没啥好讲的。属于懂得人自然懂,不懂的人说再多也没用。

好吧,这么水我也过意不去。这篇文章写的还是不错的,想要了解的可以看一下:

技术向:一文读懂卷积神经网络CNN

二.使用注意在使用这个游戏之前需要几点注意的:

1.直接点击那个gobang.exe文件就可以玩了。

2.由于我只训练了黑棋的神经网络(原谅我的懒),所以在使用神经网络下棋的时候请不要让电脑持白棋

3.程序是我在64位win7编写的,不知道在其他系统能不能玩。

4.需要将exe程序和save文件放到一个文件夹中。

我将五子棋编译成exe可运行的程序,不过要求是win764位系统的。还有就是请将save文件和exe文件放在一个目录下边才行。

里面包括了源码,如果对于程序有什么意见可以在后台留言。

链接:https://pan.baidu.com/s/1kV9YSHT 密码:h94o

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171221G00F8E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券