QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

实习版主

Rank: 10Rank: 10

技术值
查看: 987|回复: 38

[技术交流] python小练习(069):简单游戏AI设计之一(井字棋)

[复制链接]
最佳答案
56 
累计签到:356 天
连续签到:1 天
jerryxjr1220 发表于 2017-2-7 14:25:19 98738 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jerryxjr1220 于 2017-2-7 17:21 编辑

本季python小练习的最后2节准备简单介绍一下基本的游戏AI的设计,从最简单的游戏“井字棋”开始。

其实,游戏AI的设计(哪怕战胜了人类棋手的AlphaGo)无外乎包含以下几个基本功能:
1. 遍历:按照当前游戏(棋局)的所有可执行方案依次进行遍历,并返回遍历结果。遍历原则上采用“广度优先搜索”策略,对于复杂AI的设计,可以加上一定深度的“深度优先搜索”策略(比如说,预估5步或者10步等等)。但是预估的步数越多,执行的效率就越低,判别的局势也会呈现爆发式增长。
2. 局势判别:对所有遍历过的局势,对当前的游戏(棋局)进行判断判断,应该运用什么策略来进行下一步,这里往往会引入权重评分制,权重高的优先执行。
3. 选取所有策略中权重等级最高的执行,重复上述过程,直至程序终止(分出胜负)。

我们设计的井字棋小游戏,由于程序比较简单,基本上一套判别系统就可以完成上述的动作,所以我没有引入权重评分机制,而且井字棋也有比较明显的逻辑(连成一直线>拦截对手>抢中间一格>抢四角>四边),其实这就是整个遍历的过程。

我们来看一下整个过程:

Welcome to play JingZiQi!
You:1, Com:2
0 0 0
0 0 0
0 0 0
==========

请输入要下的位置,例如:“0,0”
0,0
1 0 0
0 2 0
0 0 0
==========

请输入要下的位置,例如:“0,0”
0,1
1 1 2
0 2 0
0 0 0
==========

请输入要下的位置,例如:“0,0”
2,0
1 1 2
2 2 0
1 0 0
==========

请输入要下的位置,例如:“0,0”
2,2
1 1 2
2 2 2
1 0 1
==========
Lose!

源代码:
游客,如果您要查看本帖隐藏内容请回复

本帖被以下淘专辑推荐:

楼层
跳转到指定楼层
最佳答案
56 
累计签到:356 天
连续签到:1 天
jerryxjr1220  楼主| 发表于 2017-2-7 14:32:18 | 显示全部楼层
要让电脑先下也可以,只需在第一步时(输入):3,3(即不在棋盘范围内的值,即可),可以测试看看电脑先手会怎么下。
最佳答案
0 
累计签到:2 天
连续签到:1 天
acuso4 发表于 2017-2-7 14:46:18 | 显示全部楼层
最佳答案
0 
累计签到:27 天
连续签到:1 天
岛木木 发表于 2017-2-7 15:19:07 | 显示全部楼层
学习一下~~~
最佳答案
503 
累计签到:731 天
连续签到:6 天
冬雪雪冬 发表于 2017-2-7 16:12:06 | 显示全部楼层
我还没有看程序,是运行了,发现在我输入0,2后,棋盘上没有显示计算机的下子。
1.jpg
最佳答案
56 
累计签到:356 天
连续签到:1 天
jerryxjr1220  楼主| 发表于 2017-2-7 17:23:45 From FishC Mobile | 显示全部楼层
冬雪雪冬 发表于 2017-2-7 16:12
我还没有看程序,是运行了,发现在我输入0,2后,棋盘上没有显示计算机的下子。

谢谢反馈,有一行代码手抖了,现在更新好了。
最佳答案
0 

尚未签到

荷风香煞 发表于 2017-2-9 01:56:14 | 显示全部楼层
学习
最佳答案
0 
累计签到:65 天
连续签到:1 天
xuxianju 发表于 2017-2-9 11:00:41 | 显示全部楼层
最佳答案
0 

尚未签到

cq123456a 发表于 2017-2-10 11:45:02 | 显示全部楼层
DDDDDDDDDDDDDDDDDDDDDDD
最佳答案
0 
累计签到:1 天
连续签到:1 天
a347807131 发表于 2017-3-24 10:32:09 | 显示全部楼层
最佳答案
0 
累计签到:52 天
连续签到:1 天
chenguwen003210 发表于 2017-4-22 21:37:16 | 显示全部楼层
xieixe感谢无私分享
最佳答案
0 
累计签到:228 天
连续签到:6 天
wj465596344 发表于 2017-4-26 20:20:38 | 显示全部楼层
学习学习
最佳答案
0 
累计签到:15 天
连续签到:1 天
M喵狮 发表于 2017-5-4 18:46:18 | 显示全部楼层
学习一下
最佳答案
0 
累计签到:1 天
连续签到:1 天
NBL明x 发表于 2017-5-4 19:16:00 | 显示全部楼层
最佳答案
0 
累计签到:6 天
连续签到:1 天
z215229525 发表于 2017-5-23 20:20:42 | 显示全部楼层

学习
最佳答案
278 
累计签到:277 天
连续签到:2 天
新手·ing 发表于 2017-5-27 21:54:01 | 显示全部楼层
研究~
最佳答案
0 
累计签到:2 天
连续签到:1 天
liink 发表于 2017-5-28 09:55:59 From FishC Mobile | 显示全部楼层
最佳答案
3 
累计签到:187 天
连续签到:1 天
WelanceLee 发表于 2017-6-13 13:38:55 | 显示全部楼层
看看
头像被屏蔽
最佳答案
0 

尚未签到

P先生 发表于 2017-6-26 09:46:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
最佳答案
0 

尚未签到

空空3812 发表于 2017-9-12 14:51:08 | 显示全部楼层
学习

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-18 22:39

快速回复 返回顶部 返回列表