- 28
- 0
- 约1.57千字
- 约 28页
- 2017-09-23 发布于河南
- 举报
案例二十三 人机下棋问题.ppt
案例二十三 人机下棋问题 本案例知识要点 数组的使用 类的设计及使用 人工智能问题的量化思想 一、案例需求 案例描述 设计一个简单的下棋游戏,游戏的规则是:在3?3的棋盘上,计算机为一方,人为一方,交替标记叉(X)和圆圈(O)。在行、列、对角线的方向上,先连成一条直线的一方为胜者。计算机可以动态地显示棋盘,给出提示信息和胜负判断,并允许用户选择是先手还是后手。 案例效果图 人机下棋案例效果如图所示。 人机下棋案例效果图 功能说明 显示棋盘,给出提示信息和胜负结果判断标准,允许用户选择是先手还是后手。 每一步都用图形化方式顺序输出。 直观地表示胜负结果。 二、案例分析 设计算机标记“X”,人标记“O”。计算机下时,应该考虑所有的空位置,并按照行、列和对角线计算每个空位的分值。在某行(列、对角线)上,按以下规则计分(其中“_”表示空格): 若已有“XX”,则加50分。 若已有“OO”,则加25分。 若已有“X_”,则加10分。 若已有“O_”,则加8分。 若已有“_ _”,则加4分。 根据上述的计分规则,计算机每次下棋时算出每个空位置的分数,从中选择最高分的位置画‘X’。如果某条行、列、对角线上画满了3个“X”,则计算机胜,否则人继续下棋。 人每走一步即判断行、列、对角线上是否画满了3个“O”,如画满了3个“O”,则人胜,否则计算机继续下棋。 如果棋盘布满了棋也未分出胜负,则和棋。 需要定义一个字符数组保存棋盘每次下完棋的状态。其中,“X”表示计算机下的棋,“O”表示人下的棋,数字“1”~“9”表示空位置。 还需要定义一个整型数组记录计算机下棋时每个空位置的分值。即如上所述的50、25、10、8、4分。 三、案例设计 1.类的设计 基于上述分析,本案例定义一个类CGame,用来处理相关的计算、打印等功能。主程序只是简单调用。 CGame类的设计如图所示。 (1)数据成员 char status[9]; 记录棋盘状态。 int score[9]; 记录空位置的分值。 int fail; fail为胜败标志,其中0表示和棋,1表示人赢,2 表示计算机赢。 counter; counter为步数。 (2)函数成员 Game(); 构造函数,初始化相关变量。 Print(); 打印棋盘。 int Cal(int i,int j); 计算某行的得分。 bool Judge(int i,int j,int k); 判断某条直线是否全为“O”。 Play(); 启动游戏运行。 2.主程序设计 主程序主要是调用了CGame类的成员函数Play()来实现游戏的,CGame.Play()函数的流程如图所示。 CGame.Play()函数的流程 四、案例实现 五、案例总结与提高 案例总结 该案例新颖的地方是巧妙地将智能判断的思考过程抽象出来,加以量化,这样计算机才能够进行处理。关于这种智能过程,读者可以参考人工智能方面的书籍。 案例提高 在全面理解的基础上,读者可以对本案例进行一些改动与提高。 改变棋盘的尺寸。改变后,计算机下棋时能够选择的空位置就更加多了。可以通过改进算法来达到计算机选择最优位置的目的。 改变下棋的规则。当棋盘变大时,胜利的规则不一定非要连成一条线的棋子个数等于棋盘尺寸,可以比棋盘的尺寸小。这样,设计分值时就需要考虑多种因素,除了计算机要将棋子尽量连成一条线外,还要考虑封住人的棋子连线。 第*页 共28页 目录 退出 目录 * 第*页 共28页 目录 退出 目录
您可能关注的文档
- 教育科研选题和课题论证.ppt
- 初二物理所有概念及知识点总结.doc
- _浙江省教师招聘考试小学数学考试大纲.doc
- 2010陕西高考英语.doc
- 人教版[整理]基因的分离定律练习.doc
- 【医学超级全之药理机能实验】药物对消化道平滑肌的影响.ppt
- 小学关于期末考试的通知1.doc
- 教育信息处理10.ppt
- 小学语文课外知识积累.doc
- aa2002-2003第二学期《通信原理》期末试卷答案.doc
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
最近下载
- 2024—2025学年江苏省苏州市工业园区星港初三零模数学试卷.doc VIP
- TG-NET TG-NET 全万兆核心交换机 S6200-16TF 说明书用户手册.pdf
- 天津执业药师继续教育《中药就在您身边(一)》习题答案.docx VIP
- 在公司2026年度党风廉政建设和反腐败工作会上的讲话.docx VIP
- 伟达olt e3320t cli命行说明用户手册命令行操作分册.pdf VIP
- KYT危险预知训练.ppt VIP
- Barsetto咖啡机BAE-01C说明书用户手册.pdf
- 鲁科版高中数学人教版目录.pdf VIP
- 天津执业药师继续教育《儿科常用药物概要》习题答案.docx VIP
- 微机综合保护装置 说明书 3详解.pdf VIP
原创力文档

文档评论(0)