下载此文档

java课程设计---中国象棋java源码.doc


文档分类:IT计算机 | 页数:约41页 举报非法文档有奖
1/41
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/41 下载此文档
文档列表 文档介绍
Java语言程序设计实验报告实验项目名称:中国象棋对弈系统作者姓名与单位:李明数学与应用数学专业数学081班摘要:本文主要是运用java实现具有一定功能的中国象棋对弈系统软件,主要功能如下:象棋对弈:红方先走,然后黑方再走,红黑交替,直到一方获胜。新游戏:任何时候可以重新开始一盘新的对弈。悔棋:当走错棋的时候可以悔棋。信息提示:提示当前信息状态。简单的帮助文档:象棋规则介绍、软件的简单介绍和编制说明关键词:java、中国象棋对弈系统正文:,每个模块对应一个程序包:1、engine:搜索引擎包,系统的核心部分。2、message:网络对战过程中各种消息及其传递机制的类实现包。3、main:主界面实现包。4、pieces:棋子及其相关类实现包。现就各个包中的要点给与说明。(engine包)(1):位棋盘的实现,。(:评价函数知识类。本程序使用开源软件“梦入神蛋”的快速评价函数。该函数包含子力价值和棋子所在位置的奖励值。子力价值分别是:帅-0,仕-40,象-40,马-88,车-200,炮-96,兵-9。帅是无价的,用0表示。以马为例,位置的奖励值如下:资料个人收集整理,勿做商业用途0,-3,5,4,2,2,5,4,2,2,-3,2,4,6,10,12,20,10,8,2,2,4,6,10,13,11,12,11,15,2,0,5,7,7,14,15,19,15,9,8,2,-10,4,10,15,16,12,11,6,2,0,5,7,7,14,15,19,15,9,8,2,4,6,10,13,11,12,11,15,2,-3,2,4,6,10,12,20,10,8,2,0,-3,5,4,2,2,5,4,2,2上面的每行代表棋盘的一条纵线。其中,-10所在的位置是“窝心马”,所以要罚10分。(3):动态局面类包含对局过程中的动态信息,。(4):着法表示类。(5):伪合法着法生成模块,。(6):合法着法的生成及其排序算法,。(7):搜索算法,实现如下功能:1)主置换表及开局库2)Alpha-Beta搜索算法3)针对吃子着法的静态搜索算法4)适应性空着裁剪算法:,根据不同情况来调整R值的做法,称为“适应性空着裁剪”(AdaptiveNull-MovePruning),A杂志上。其内容可以概括为:资料个人收集整理,,用R=,用R=3;,如果每方棋子都大于或等于3个,则用R=3,否则用R=2。5)带时间控制的迭代加深搜索算法:每次加深搜索都判断时间是否够用。6)“将军”扩展(加深)搜索算法:当搜索到己方被“将”时,增加搜索的深度。7)(message包)在对弈过程中(主要是网络对弈)需要在对弈双方之间传输各类信息,抽象为各类消息。如时间规则的协定、各方的走子信息等。每方都有消息接收、消息处理和消息发送程序(OuterMsgReceiver、LocalMsgReceiver,QzMessageHandler,MessageSender)。己方的MessageSender与对方的OuterMsgReceiver通过接口SrConnection连接。所有接收的消息放入消息队列QzMsgQueue中,等待消息处理进程QzMessageHandler来处理。所有的消息都封装在QzMessage类对象中,消息的类型通过消息的Header类型(以静态常量存放在MsgHeader类中)来区分。资料个人收集整理,(pieces包),如棋子的(在棋盘上的)位置、图片、名称、类型、状态等。“工厂”模式提供根据棋子类型或其他信息生成相关Qizi对象的方法。资料个人收集整理,(main包)实现了程序界面与消息传递、搜索引擎的集成。(1):棋盘坐标系统及其界面的实现。(:主界面类,以内部类实现了QzMessageHandler接口、计时规则TimeRule接口以及事件的处理程序,根据需要生成其他的并发线程如消息接收、处理和发送,机器思考(启动搜索引擎),计时显示等。资料个人收集整理,勿做商业用途(3)SetRule

java课程设计---中国象棋java源码 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数41
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0b
  • 文件大小566 KB
  • 时间2019-05-04
最近更新