ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:3.42MB ,
资源ID:11627136      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11627136.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java中国象棋对弈系统毕业设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java中国象棋对弈系统毕业设计论文.docx

1、Java中国象棋对弈系统毕业设计论文毕业设计(论文)中国象棋对弈系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(

2、论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 中国象棋对弈系统摘 要: 1、任务 据统计,中国有2亿人会下中国象棋,这相当于平均6至7个人中就有1人会下,可见它有着广泛的群众基础。中国象棋对弈系统正是为这一可行性而开发设计的,玩家可以通过它很好的研究棋谱,学习中国象棋技术,提高水平。简单的棋规,便捷的载体,使得他成为雅俗共赏的竞技项目。该程序是一个图形界面的java中国象棋对弈系统,本系统主要实现如下目标:(1

3、)系统实现:下棋界面,走棋与吃棋,胜负判断;(2)设计象棋菜单:新游戏,保存,打开,退出,悔棋,信息提示。2、着重培养的能力本课题旨在对大学期间所学基础和专业知识的全面检验与总结;提高综合运用所学专业知识分析、解决实际问题的能力;通过本课程设计使学生加深理解、巩固课堂理论知识和实验知识,使学生初步具备综合运用所学Java语言基础知识,面向对象程序设计的基本思想、方法与技术,数据结构技术等开发简单应用系统的基本能力,初步掌握软件开发中系统分析、系统设计、系统实现和系统测试等阶段的基本方法与技术,培养学生的创新意识,提高实践应用能力,为培养应用型人才服务;进行撰写技术报告、学术论文等方面的基本训练

4、。3、成果形式软件系统和设计论文关键词: JAVA;象棋;对弈;游戏;大学;专业;能力;论文Chinese chese playing systemAbstract:1, task According to statistics, China has 200 million people can play Chinese chess, it is equivalent to an average of six to one in 7 people in people, it has a broad mass base. China chess system is designed for th

5、e feasibility and development, the player can move through it very good research, learning Chinese chess technology, improve the level. Simple chess rule, convenient carrier, make him fit athletic project. The program is a graphical interface Java Chinese chess game system, this system mainly realiz

6、e the following goals: (1) system implementation: chess interface, playing chess and chess, the outcome, (2) design chess menu: a new game, save, open, quit, HuiQi, information prompt. 2, focus on training the ability This topic aims to the foundation and professional knowledge during the period of

7、university comprehensive inspection and summary; To improve the integrated use of professional knowledge to analysis, the solution actual problem ability; Through this course design to make the students deepen understanding, consolidate the classroom theoretical knowledge and experimental knowledge,

8、 make students have integrated use of learned basic knowledge of Java language, the object-oriented program design basic ideas, methods and technology, data structure, technology development simple application system such as the basic ability, preliminary grasp software development, system analysis,

9、 system design, system implementation and system test phase of the basic methods and technology, cultivate the students innovation consciousness, improving practical application ability, to cultivate applied talents service; Write technical reports and academic papers of basic training.3, production

10、 forms Software system and the design paper Keywords:JAVA;chese game;game;university;magor;ability;dissertation第一章 引言(概述)随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。中国象棋发展至今已有二千三、四百年的历史了,早在战国时期就有正式记载,堪称中国的国粹。想必在未来的几年随着中国象棋在各个领域的推广,必定会带来巨大的影响和经济效益。中国象棋对弈在中国有着悠久的历史,是二人对抗性游戏中的一种。由于用具

11、简单,趣味性很强,很快成为流行极为广泛的棋艺活动。也是我国正式开展的78个体育项目之一,为促进该游戏在世界范围内的推广和普及,在中国历史上,象棋被列为士大夫们的修身之艺,现在被视为怡神益智的一种有益的游戏。在棋艺对战中,玩家们可以从攻与防、虚与实、整体与局部等复杂关系的变化中悟出某种各种哲理。象棋博弈是由两个玩家轮流走子,以“将死”或“困毙”对方将或帅为胜的一种棋类运动,有着数以万亿计的爱好者。它不仅能丰富人们的文化生活,陶冶情操,更有助于开发个人智力,启迪思维,锻炼辨证分析能力和培养顽强的意志等等。 随着计算机的使用的深入普及,计算机应用技术的日益完善,人们已经和计算机有着密切的关联,在计算

12、机上玩游戏已经大众化,给人们带来了无限的欢悦,本系统是一个小程序,只要在装有jdk中的虚拟机的计算机上即可运行,中国象棋对弈系统实现了双人对弈这个功能,可用于多人一起游戏。而实现中国象棋对弈系统就为象棋在网络应用平台提供多人对弈打下基础。中国象棋对弈系统主要要实现的是棋子的走法和规则,中国象棋讲究车,马,象,仕,卒,炮,将的活用;只有当将被对方玩家的棋子吃掉,则首先吃掉对方将或帅的一方就是胜利的一方。玩家对局时,由红棋的一方先走,双方轮流各走一次,直至分出胜负,对局即结束。轮到走棋的一方,要将某个棋子从一个十字交叉点走到另一个十字交叉点,或者吃掉对方的棋子而占领其十字交叉点,都算走一次。双方各

13、走一次,称为一个回合。象棋是中华民族的传统文化,不仅在国内深受群众喜爱,而且流传国外。第二章 系统可行性分析2.1 总体分析此次对弈系统的开发研究是大学专业知识的一次综合应用于提高,计算机主要安装jdk运行环境和Eclipse应用程序开发工具。在技术方面,开发过程中会出现很多问题,有预想之中的,也有预想之外的,特别在图形界面的设计上遇到了很多问题,但通过进一步的学习和与指导老师的沟通,一些问题逐一被解决。运用java,gui监听器和标准类库等知识,首先编写一个主类ChineseChess,构造一个主窗口,在中国象棋-Java版上添加一块可显示的棋盘,再插入图片CChess.GIF图片作为棋谱,

14、再在棋盘上添加32个棋子按钮,再插入相应图片作为棋子,然后再在主窗口下面添加一块面板作为设计象棋菜单,用此菜单来用来对“新游戏,悔棋,保存,打开,退出棋谱,走棋提示”进行操作。1.中国象棋对弈系统是:图形界面,线程,监听器与文件等技术的综合运用。2.图形界面的实现:考虑到中国象棋的特点本身程序使用GridLayout布局来实现由于使用鼠标操作本身程序使用Jbutton组件。3.对弈的实现:利用鼠标的监听来实现对象棋走法的操作。2.2 开发环境介绍2.2.1 硬件开发环境 本系统硬件环境在操作系统在Windows Server 2003 上完成编码及测试,硬件要求不高,只要有台电脑即可。2.2.

15、2 软件开发环境1.结合本系统的特点,只需要一个软件开发工具和一个虚拟机即可,因此需要的软件有:2.操作系统在Windows Server 2003以上;3.开发工具使用Eclipse;4.在操作系统上安装jdk的开发环境以及jre(虚拟机)的运行环境。第三章 系统需求设计中国象棋对弈系统要求实现下棋界面,利用鼠标监听来实现走棋与吃棋,胜负判断并伴有信息提示,在下棋界面下端设有象棋菜单,菜单内容包括“新游戏,保存,打开,退出,悔棋,信息提示”等相关功能。详情如下:1.新游戏:开始一场新的游戏,并重新棋子初始化。2.打开:打开原保存的文件,并开始棋局。3.保存:实现棋谱的保存,并生成一个棋谱文件

16、。4.悔棋:返回到上一步棋局,并开始继续下棋。5.退出棋谱:对话框提示,是否退出系统。第四章 详细设计4.1 功能设计4.1.1 功能说明 这个系统主要实现人人对弈,采用鼠标监听的方法来实现对棋子的移动,双方依次轮流走棋,在状态显示栏有走棋的相关提示,主要提示该轮到哪方走棋。如果一方想要认输,在征求对方认可的情况下,点击“新游戏”开始新的一局开始对弈,如果一方想要悔棋,也是在征求对方同意的情况下,点击“悔棋”按钮,可连续悔棋。如果遇到紧急情况或者疲惫的情况下,可点击“保存”按钮保存当前棋局,当空闲的时候可以点击“打开”按钮并找到上次保存的棋局。为防止误操作关闭下棋界面,在退出时设有信息提示,如

17、果确认退出,则点击“是”按钮,否则点击“否”返回下棋界面。4.1.2 对弈规则选择红黑棋子双方可以自由商定选择,但默认是红方先手,黑方后手。打开以前残局可按照信息提示框的提示决定哪方先手,哪方后手。4.1.3 相关类图(图)4.1.3-1 包和类在Eclipse应用程序开发工具新建一个项目ChineseChese项目,在项目中新建包com.Larry.frame,包内包含主类ChineseChese.java,作为该程序的main方法;图形界面类CheseMainFrame.java,对界面进行设计操作;象棋走子规则类CheseRule.java,主要对各个棋子的走法规则进行控制;音乐类Mus

18、icDemo.java,主要用于背景音乐的控制。4.1.4 相关类的类图 该类图包括了各个类内的方法,详细的展示了类中的方法。(图)4.1.4-1相关类的类图4.2功能的实现4.2.1 图形界面的实现图形界面的是实现主要在类ChineseMainFrame类中实现,通过继承Jframe来进行初始化操作以下是相关代码:如(图)4.2.1-1 图形界面/创建工具栏jmain = new JToolBar();showAbout = new Button( 关于);showAbout.setToolTipText(关于);text = new JLabel(热烈欢迎);text.setToolTip

19、Text(提示信息);anew = new Button( 新 游 戏 );anew.setToolTipText(重新开始新的一局);exit = new Button( 退 出 );exit.setToolTipText(退出本程序);repent = new Button( 悔 棋 );repent.setToolTipText(返回到上次走棋的位置); showOpen = new Button(打开);showOpen.setToolTipText(打开以前棋局); showSave = new Button(保存);showSave.setToolTipText(保存当前棋局);/

20、把组件添加到工具栏jmain.setLayout(new GridLayout(0,7);jmain.add(anew);jmain.add(repent); jmain.add(showOpen);jmain.add(showSave);jmain.add(exit);jmain.add(text);jmain.add(showAbout);jmain.setBounds(0,500,470,24);con.add(jmain);/注册按扭监听anew.addActionListener(this);repent.addActionListener(this);exit.addActionL

21、istener(this);showAbout.addActionListener(this);showOpen.addActionListener(this);showSave.addActionListener(this);/添加棋盘标签con.add(image = new JLabel(new ImageIcon(images/CChess.GIF);image.setBounds(0,0,446,497);image.addMouseListener(this);/注册窗体关闭监听this.addWindowListener(new WindowAdapter() public vo

22、id windowClosing(WindowEvent we) System.exit(0); );/窗体居中让窗体居中Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize = this.getSize();if (frameSize.height screenSize.height) frameSize.height = screenSize.height;if (frameSize.width screenSize. Width) frameSize.width = s

23、creenSize. Width;this.setLocation(screenSize. Width - frameSize.width) / 2 - 200 ,(screenSize.height - frameSize.height ) / 2 - 290);this.setIconImage(new ImageIcon(images象.GIF).getImage();this.setResizable(false);this.setTitle(Title);this.setSize(450,550);this.show(); (图)4.2.1-1 图形界面 (图)4.2.3-1 棋谱4

24、.2.2 棋谱的实现 在图形界面的空白处添加棋谱图片CChese.GIF,即可显示棋谱如(图)4.2.2-1 棋谱。以下是相关代码:/添加棋盘标签 con.add(image = new JLabel(new ImageIcon(imageCChess.GIF); image.setBounds(0,0,446,497); image.addMouseListener(this);4.2.3 棋子的添加 在图形界面中添加相关棋子图片后如(图)4.2.3-1/添加棋子标签 drawChessMan();这是添加红色棋子的棋子“车”,采用接口的形式实现,其它棋子依此方法依次添加即可形成一个完美的棋

25、谱了。/车 in = new ImageIcon(image车1.GIF); for (i=0,k=10;i2;i+,k+=385) playi = new JLabel(in); playi.setBounds(k,10,40,40); playi.setName(车1); (图)4.2.3-1 添加棋子 (图)4.2.5-1 版本信息4.2.4 背景音乐在游戏过程中,时间长了往往会感觉到疲惫,来首优雅的背景音乐既可以消除疲劳,也可以缓解压力,从而带来身心的愉悦,本系统添加了一首流行音乐作为背景音乐,背景音乐能使玩家感觉到游戏中的气氛,使玩家容易进入游戏状态,还可以给玩家留下一个好印象,衬托

26、游戏的场景,好的游戏背景也能表现出游戏的水准。主要用以下方法实现:try File music = new File(许佳慧 - 预谋.wav); AudioClip ac = Applet.newAudioClip(music.toURL(); ac.loop(); catch(Exception e) e.printStackTrace(); 4.2.5 版本信息 点击图形界面中的“关于”按钮,即可显示(图)4.2.5-1 所示的内容,主要显示系统名,版本号以及制作者,点击“确定按钮”结束浏览。主要代码设计如下setBounds(200,100,300,200); setTitle(版本信

27、息); this.setIconImage(ico.getImage(); label=new JLabel(中国象棋对弈系统版本号:v1.0制作者:XXXX导 师:XXXX,JLabel.LEFT); pane=new JPanel(); ok=new JButton(确定); ok.addActionListener(this); pane.add(ok); add(pane,BorderLayout.SOUTH); add(label,BorderLayout.CENTER);在此,也可用此方法为象棋对弈系统添加,对弈规则以及说明书等介绍,为玩家提供更方便的游戏体验。4.2.6 新游戏在

28、游戏进行过程中,往往会因某种原因会重新开始游戏,玩家不可能重新开启游戏客户端,为了给玩家更好的游戏体验,设置重新开始游戏是必不可少的功能。重新开始游戏后,会重新排列棋子返回原位。以下是红子“车”的排列方法,通过坐标把相应的棋子排列,其它棋子排列与此方法相似,只是坐标不同。 /重新排列每个棋子的位置 /车 for (i=0,k=10;i2;i+,k+=385) playi.setBounds(k,10,40,40); 4.2.7 保存与打开 在一个系统中保存与打开文件是必不可少的操作,保存一个游戏进度可以省去很多不必要的麻烦,当对弈双方遇到得不暂停游戏的情况,双方又不想轻易放弃此局,保存游戏进度

29、的功能就非常人性化的解决了这个问题,以下就是保存游戏进度的相关代码,通过文件流的方式把内存里的数据读出来,在保存在一个新的文件中,并保存所有棋子的坐标是否可见和哪方吃子。try /保存对话框 JFileChooser jfcSave = new JFileChooser(保存当前棋局); int v=jfcSave.showSaveDialog(this); if (v != JFileChooser.CANCEL_OPTION) FileVar.removeAllElements(); /保存所有棋子的坐标和是否可见 for (int i=0;i32;i+) FileVar.addEleme

30、nt(new Integer(playi.getX(); FileVar.addElement(new Integer(playi.getY(); FileVar.addElement(new Boolean(playi.isVisible(); /保存当前该哪方吃棋 FileVar.add(text.getText(); /保存到文件 FileOutputStream fileOut = new FileOutputStream(jfcSave.getSelectedFile(); ObjectOutputStream objOut = new ObjectOutputStream(fileOut); objOut.writeObject(FileVar); objOut.close(); fileOut.close(); 打开理论上和保存一样,首先会弹出一个对话框“打开”,会删除集合里的所有信息,删

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1