三子棋搜索树程序设计报告大学论文.docVIP

三子棋搜索树程序设计报告大学论文.doc

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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语句内。如果函数进入人人对战,则函数在界面上显示“人人对战开始”;如果函数进入到人机对战中,则在界面出显示出“人机对战开始”和两个选项“人先手”和“机器先手”,再一次进行鼠标点击的选择。

在选择完毕之后函数进入到对战当中

文档评论(0)

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

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

1亿VIP精品文档

相关文档