一字棋.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一字棋

Your footer here 井字棋 目录 * 总流程图 重要数据结构 主要函数 实验结果 流程图 * Chess类: int[,] chessState//棋盘状态 playerid//当前的下棋方 chessCost//当前棋盘的估价 Listchess childChessId//子棋局 chess fatherChess;//父棋局 chessId;//棋局的id号 chess(int chessid)//初始化棋局 int[,] getMatrix()//获取当前棋盘状态 changeOriginalChess(int x, int y,int id)//id玩家落子在(x,y)位置 * 主要函数 initChess() 将所有连成一线的坐标位置保存在successState数组中,便于之后判断赢得棋局状态 changeChess(int x,int y,int id,bool ifCon =false) 选手id在棋盘的(x,y)处下棋子,ifcon为是否为电脑对弈 * 主要函数 travelGraph() //广度优先遍历棋局 open表头元素出队列,存入close表 遍历棋局状态矩阵,一旦碰到元素为0,则改为当前棋局playerid的对手id号(-playerid)存入open队列中,设置棋局的父棋局为当前棋局 将元素改为0,继续遍历 直到open表里没有元素或者height达到规定值 * 主要函数 evaluateChess(int[,] chessState1,int id,int[,] chessState2) 搜索棋局状态,找到playerid连成一线的个数,以及playerid的对手id连成一线的个数,两个相减,得到价值 * 主要函数 EvaluateGraph(int playid) close表首元素出栈 如果没有子棋局,则将棋局状态矩阵中为零的元素改为playerid得到一个矩阵,同时改为-playerid得到另一个矩阵,通过估价函数得到估价,将自己存入其父棋局的子棋局集合中 如果有,则看当前棋局的playerid是否为初始棋局的playerid相同,如果相同,取其子棋局的估价最小值,否则取最大值 * 实验结果 人先走: * 实验结果 人先走: * 实验结果 电脑先走: * 实验结果 电脑先走: * 实验结果 电脑自己对弈: * Your footer here

文档评论(0)

allap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档