【Lua】占据棋(更新新AI)
本帖最后由 Ayahuasec 于 2015-6-28 09:31 编辑源码没有加密,大家可以自行修改。
游戏说明:
通过数字键移动鼠标(5为左上角开始将光标移到空位),Enter键决定,确定位置后该格及周围4格将成为你的领地,随后由另一个玩家选择下一个位置,直到整个8*8的场地铺满。不能将已占的格子作为选择的目标,但可通过占据旁边的格子以占领对方的领地。铺满后占得格子多的一方胜。
操作:
2:下 4:左 6:右 8:上
1:左下 3:右下 7:左上 9:右上
5:快速选定空位
Enter:决定
Tab:清空
a:简单AI1(直接算法,获得结果较快)
b:简单AI2(间接算法,运算较慢)
PS:有时间的话我会去研究高难度AI的算法(大概暑假吧...),目前的思路是对AI2做一些改进,但是感觉略复杂,果然做AI就是烧脑子。。
枷锁文件中中文的是用教师软件生成的,实体机可能会出问题。zjq.tns是用luna生成的,大黑3.1测试通过。resource是源码(可以复制到oclua中直接运行,不要学我不按格式的代码风格。。。。。AI不完善,有兴趣可以自行改进)。。。
截图:
6月28日更新1.3版,更新内容如下:
1、升级AI难度,游戏中按B可获取该AI所决定的位置。
2、添加规则:若最后一步仍为方块,则方块的分数减去3分(实际上大概算了一下数学期望应该是2.87.。。。)
大概就这样,AI应该还有改进的空间,我会继续尝试的。。
更新的tns文件:
为了提取大黑上写的代码,花了两个晚上装虚拟机装1.6版教师软件然后keygen然后升3.1然后开试用然后保存虚拟机然后备份压缩虚拟机所有文件。。为了提取个tns我也是醉了。。。。。Ti干吗不搞一个可以提取tns中记事本内容的东西。。。。非要逼我没正版。。。 这源码...其实没格式化然后又没注释和加了密的没啥区别
关于AI:现有的棋类AI无非就是在暴力搜索的基础上做剪枝而已,建议设计一个rank算法然后用minmax搜索,限定一下深度应该还是可以的
wtof1996 发表于 2015-6-21 14:04
这源码...其实没格式化然后又没注释和加了密的没啥区别
关于AI:现有的棋类AI无非就是在暴力搜索的基础上 ...
搜索每一个点做出来的就是AI1,没什么智商……最高玩出过40:24……打算把实际玩的时候的一些技巧转成代码编进去,这样应该更有效一点。代码因为是大黑上写的,所以没按格式,写AI那段有点乱才用 notepad ++格式化了一下…… 赞个 支持下 希望楼主能增加点难度 :) :) 支持下
页:
[1]