网站大量收购独家精品文档,联系QQ:2885784924

《基于Python的中国象棋软件开发设计》13000字.docx

《基于Python的中国象棋软件开发设计》13000字.docx

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

基于Python的中国象棋软件开发设计

TOC\o1-3\h\z\u1绪论 1

1.1研究背景及意义 1

1.2课题发展概况 2

1.3主要研究内容 2

2系统技术分析 3

2.1Pycharm概述 3

2.2Python概述 4

3软件需求与功能描述 4

3.1需求描述 4

3.2功能描述 4

4软件设计与实现 5

4.1软件设计原理 5

4.2页面布局设计 6

4.3棋局与棋子表示 8

4.3.1棋局的表示 8

4.3.2棋子的表示 8

4.4博弈程序的实现 8

4.4.1着法生成 8

4.4.2博弈树概念 9

4.4.2Alpha-beta剪枝算法 10

4.4.3历史启发算法 12

4.4.4价值评估函数 13

5辅助功能的实现 15

5.1悔棋 15

5.2重新开局 16

5.3音效控制 16

6软件测试 16

6.1人机对弈 16

6.2重新开局 17

6.3悔棋 17

6.4开启(关闭)音乐 17

6.5退出游戏 18

7总结 18

参考文献 19

附录 22

PAGE2

【内容摘要】中国象棋程序的实现主要分为两大部分,分别是人工智能与辅助功能。其中人工智能部分体现在计算机下棋的计算思路,包括搜索算法搜索着法,评估函数对各种着法进行价值评估,最终选择最佳的一步;而辅助功能主要是通过算法,为人机对战添加多种功能,增添用户下棋的乐趣。本文首先研究了计算机编程在中国象棋方面的现状与前景。在研究计算机博弈论的极大值极小值搜索的基础上,通过Alpha-beta剪枝算法,利用python语言与pycharm开发工具实现具有普通人棋力的中国象棋程序。

【关键词】python;中国象棋;Alpha-beta剪枝算法

1绪论

1.1研究背景及意义

伴随着时代的发展与科技的进步,人们的娱乐项目也逐渐丰富,在二十一世纪的生活里,玩游戏已经成为了人们在茶余饭后更加乐意选择的一种放松方式。计算机发明以后,游戏便又多了一个新的载体。随着计算机的发展,电脑游戏也在逐步进化成熟。在技术发展迅速的今天,对于有能力进行程序编辑的人来说,开发多功能游戏已经是一件很容易的事情了。其中棋牌类游戏因其操作简单、方便、快捷等多种优势在众多游戏中脱颖而出,除了上手快、游戏时间短暂、随时随地都可以玩的优点之外,棋牌类的游戏最大的特点就是不以追求盈利为主,更加专注于开发人们的智力,使人们在游戏的过程中获得新鲜感的同时得到智力上的开发,深受广大人民群众的喜爱和追捧。

中国象棋起源于中国,以二人之间相互对抗竞争为游戏规则,在我国拥有着悠久的历史,是最能够代表中华民族优秀文化的标志之一。中国象棋规则易懂,却具有极强的趣味性与思考性。能够起到很好的锻炼人们的逻辑思维能力的作用。中国象棋在计算机博弈中有着很高的复杂度,也很少有人参与研究,因此在网络上参考的资料相对而言是比较少的。

计算机技术的发展让人不由得去想:计算机计算是否有能力战胜人类大脑?象棋大师败于与计算机的对战是否证明了计算机已经超越了人类?这些问题都牵扯到了人工智能的概念。而人工智能就是以研究如何使计算机通过计算去完成传统认知中只有靠人类大脑才能完成的工作。基于科技发展的大背景之下,人工智能技术的研究成了游戏开发过程中一个热门方向。[1][2]

1.2课题发展概况

从最初功能单一的电子棋盘到如今的丰富多彩的电脑端游戏,象棋软件的发展也是十分迅速的。早期的象棋软件计算时间长,计算效果差,人们往往在下棋的过程中就败于缺乏耐性等待电脑计算。慢慢地,一些相对智能的中国象棋软件也渐渐出现在网络上,最突出的代表有:《棋瘾》等,虽然改善了计算时长方面的缺点,但同样存在着共同性的缺陷,那就是在进行对弈时智力与人脑还是存在明显的差异。自2016年阿尔法围棋与职业棋手李世石进行人机之间的较量之后并且以微弱的优势战胜计算机之后,越来越多的人们开始注意到人工智能的概念。它打破了传统观念中棋局对战必须双人参与的观点,首次正式提出了以计算机计算代替人类大脑计算的大胆想法。2017年,谷歌公司旗下子公司在国际学术期刊《Nature》上发布了关于人工智能自训练的两篇学术文章MasteringthegameofGowithouthumanknowledge以及MasteringChessbySelf-PlaywithaGeneralReinforcementLearning,为后人实现中国象棋软件开发提供了清晰明了的思路及原

文档评论(0)

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

关注原创力文档

1亿VIP精品文档

相关文档