五子棋人机对战设计任务书.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五子棋人机对战设计任务书

PAGE \* MERGEFORMAT23 五子棋人机对战设计任务书 目录  TOC \o 1-3 \h \z \u  HYPERLINK \l _Toc446781703 1. 系统需求分析  PAGEREF _Toc446781703 \h 1  HYPERLINK \l _Toc446781704 2. 总体设计  PAGEREF _Toc446781704 \h 1  HYPERLINK \l _Toc446781705 3. 详细设计  PAGEREF _Toc446781705 \h 2  HYPERLINK \l _Toc446781706 4. 系统调试  PAGEREF _Toc446781706 \h 4  HYPERLINK \l _Toc446781707 5. 使用说明  PAGEREF _Toc446781707 \h 5  HYPERLINK \l _Toc446781708 6. 编程体会  PAGEREF _Toc446781708 \h 6  HYPERLINK \l _Toc446781709 7. 源程序清单  PAGEREF _Toc446781709 \h 7  系统需求分析 五子棋是我国古代传统的黑白棋种之一,又称作连珠棋。五子棋游戏首先需要棋盘,并绘制棋子,若希望人机对战还要为计算机设置一定的算法,以使其能够自动判断落棋的位置,此外,还需要有一定的判断系统来判定胜负,还有悔棋功能。综上,五子棋人机对战游戏需要提供以下功能: 使用图形界面,绘制棋盘,并能够提供虚拟棋盘来作为计算机运算的依据。 判断玩家的落子位置,并相应的画出对应颜色的棋子,判断落子位置时误差要很小。另外,需要记录玩家的落子情况。 通过运算判定电脑的落子位置,如防范玩家连成五子,或进攻使自己连成五子取得胜利,并相应的显示对应颜色的棋子。另外,需要记录电脑的落子情况。 根据规则判断出胜负,先连成五子者获得胜利,并显示出胜利的一方,之后可以按任意键再来一局。 当玩家落棋出现重大失误时,可进行悔棋,清除棋子。 总体设计 五子棋人机对战游戏包括四个方面的功能,分别是绘制棋盘和棋子等图形化显示功能,获取玩家落子功能,计算并判断得到电脑落子位置的功能以及判断胜负的功能。 图形化显示功能方面,运用easyx图形库进行图形的绘制,可以进行背景色的设置,线条的绘制,文字的显示和字体的设置。通过initgraph初始化界面,设置坐标,用setbkcolor函数设置背景色,用settextcolor函数设置文本颜色,用settextstyle函数设置文本字体,用outtextxy函数显示文字,用line和fillcircle函数进行棋盘的绘制,用fillcircle函数进行棋子的绘制。通过HWND句柄可以弹出选项框。建立二维数组作为虚拟棋盘。 玩家落子方面,首先需要判断鼠标所点击的位置,然后需要在链表上建立新的节点,在虚拟棋盘上设置玩家落子,并在棋盘上绘制出玩家的棋子。 电脑落子方面,需要遍历所有位置,分别对玩家在该处落子和电脑在该处落子进行评分,找出玩家或电脑落子评分最高的位置作为落子的位置,在虚拟棋盘上落子,并在棋盘上绘制出电脑的棋子。 判定胜负功能方面,在玩家及电脑每次落子之后,都通过调用判定函数来判断某一方是否连成五子,若一方胜利,显示游戏结果,跳出当前棋局的循环,并按任意键重新布置棋盘,开始新的一局。 悔棋方面,需要沿着链表的结构进行前一步棋子的清除。 设置棋盘模块 显示界面,绘制棋盘,设置虚拟棋盘 五子棋人机对战游戏 判断模块 判断某一方是否连成五子,显示结果 电脑落子模块 判定最佳落子处,建立链表新节点 玩家落子模块 玩家落子捕捉,建立链表的新节点 悔棋模块 清除原棋子 五子棋游戏中的功能模块图: 详细设计 chessboard(棋盘类) piece(棋子类) piece_player piece_computer player_list computer_list 五子棋人机对战程序中的类的层次图为: 五子棋人机对战游戏中各功能模块的实现: 开始界面 布置棋盘 玩家落子 电脑落子 判定胜负 悔棋 布置棋盘功能 绘制15*15棋盘 设置虚拟棋盘 1.布置棋盘模块 玩家落子功能 捕捉鼠标信息 建立新的链表节点 设置与绘制棋子 2.玩家落子模块 3.电脑落子模块 电脑落子功能 运算判断最佳落子位置 建立新的链表节点 设置与绘制棋子 4.判定胜负模块 判定胜负功能 判定是否连为五子 显示结果,清空缓存,跳出循环 5.悔棋模块 悔棋功能 清除玩家棋子 清除电脑棋子 五子棋人机对战游戏中六个类的UML图: chessboard(棋盘类)

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档