- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
计算机科学与技术学院
《C高级语言程序设计》课程设计报告
(2016/2017学年第1学期)
学生姓名:肖磊
学生专业:物联网工程
学生班级:物联网工程152002
学生学号:201520050228
指导教师:张荣国
2016年12月26日
计算机科学与技术学院
课程设计任务书
课程设计名称
C高级语言程序设计课程设计
课程设计题目
三子棋搜索算法树的实现
学生姓名
肖磊
专业班级
物联网152002
学号
201520050228
课程设计任务内容
[问题描述]
针对三子棋,应用C语言程序设计的基本理论和方法,从对问题的分析研究开始,到编程调试结束的整个过程进行分析和设计,具体包括以下几点。
[基本要求]
(1)了解程序设计的方法和步骤,对三子棋进行分析研究。
(2)系统的工作可以进行:人类走棋功能、电脑走棋、判断两方输赢、棋盘界面函数(选择先后手、选择人人对战、人机对战)、搜索树的实现等。
(3)画流程图:将主函数和每个功能模块的函数的流程图分别画出来;
(4)编写程序代码,对每个模块实现的功能进行详细的说明,对程序中使用的变量予以说明,对程序中主要语句的功能予以说明;
(5)提交课程设计报告。
[测试要求]
(1)设计的程序能够方便地运行,达到设计的目的;
(2)用户界面友好,功能明确,操作方便。
指导教师:张荣国
时间:2016年12月1日
目录
第1章设计过程总结与分析
1.1关于三子棋问题的描述…………….…1
1.2关于三子棋问题的分析………….………1
1.3程序运行环境…………………..……..….1
第2章算法设计与流程图
2.1主控模块的算法设计与流程图2
2.2图形界面模块算法设计与流程图4
2.3人类走棋模块算法设计与流程图5
2.4判断输赢模块算法设计与流程图5
2.5电脑走棋模块算法设计与流程图6
第3章程序设计编码与测试
3.1主控模块程序设计编码与测试12
3.2图形界面模块程序设计编码与测试17
3.3人类走棋模块程序设计编码与测试19
3.4判断输赢模块程序设计编码与测试25
3.5电脑走棋模块程序设计编码与测试28
第4章设计过程总结与分析
4.1三子棋设计过程中的总结与分析32
附录:程序流程图及程序代码
5.1程序流程图33
5.2程序源码。42
PAGE17
第1章设计过程总结与分析
1.1关于三子棋问题的描述
“三子棋”游戏(又叫“井字棋”),是一款十分经典的益智小游戏,想必很多玩家都有玩过。“三子棋”的棋盘很简单,是一个3×3的格子,很像中国文字中的“井”字,所以得名“井字棋”。“三子棋”游戏的规则与“五子棋”十分类似,“五子棋”的规则是一方首先五子连成一线就胜利;“三子棋”是一方首先三子连成一线就胜利。游戏时一方是电脑,另一方是玩家。所以,这类游戏在开始时有两种方式:一种是玩家先走;另一种是电脑先走。
1.2关于三子棋问题的分析
这是一道人工智能的题目,关键是找出电脑的思维。而电脑的思维必是一个算法。本题用的蒙特卡洛算法。进行一定次数的随机模拟的下棋,之后选择出最有利的一点为落子点。正是因为电脑有思维,电脑能赢就赢,同时也要干扰玩家赢(力求和局)
1.3程序运行环境
程序是在vs2013的环境下运行的,并且需要配置ege文件。
配置ege文件:
1.把ege的include目录下的头文件拷贝到C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\include下/
2、把ege的lib\vc2013目录下的链接文件拷贝到C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\lib下
第2章算法设计与流程图
2.1主控模块算法设计与流程图
设计思路:函数首先调用棋盘界面函数face()产生一个棋盘,之后函数继续读取鼠标点击位置的坐标,读取后首先判断坐标在哪一个if—elseif语句内。如果函数进入人人对战,则函数在界面上显示“人人对战开始”;如果函数进入到人机对战中,则在界面出显示出“人机对战开始”和两个选项“人先手”和“机器先手”,再一次进行鼠标点击的选择。
在选择完毕之后函数进入到对战当中
您可能关注的文档
- 新概念一册41-48检测题教学内容.doc
- 2022年教育教学知识与能力小学测试试题.docx
- 2022年初中语文教学随笔3篇.docx
- 学校人防教育实施方案.docx
- 小升初英数题.doc
- 学校校医工作总结(5篇).docx
- 2021大学生西部计划志愿者招募笔试试题.docx
- 农业企业生产管理制度.doc
- 完整标准版商业计划书健康医生集团美容整形私人诊所讲义.ppt
- 2022年参加校长国培培训学习心得体会3篇.docx
- 人教统编版语文一年级上册《汉语拼音9 y w》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《语文园地三》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《识字2 金木水火土》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《汉语拼音13 ɑn en in un ün》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《5 小小的船》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《我爱我们的祖国》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《语文园地一》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《汉语拼音8 zh ch sh r》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《9 乌鸦喝水》教学课件小学公开课.pptx
- 人教统编版语文一年级上册《语文园地四》教学课件小学公开课.pptx
文档评论(0)