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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

java五子棋学士学位论文.docx

1、java五子棋学士学位论文南开大学滨海学院 本 科 生 毕 业 论 文(设 计)中文题目:JAVA五子棋外文题目:JAVA Backgammon 作业名称: JAVA五子棋 学 号: 12990147、12990187 姓 名: 黄宇、徐相如 年 级: 2012 级 系 别: 计算机科学系 专 业: 数字媒体技术 (数字影视动画技术与运用方向) 完成日期: 2015年1月12日 指导教师: 刘 嘉 欣 南开大学滨海学院本科论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计),题目JAVA五子棋 是本人在指导教师的指导下,独立进行研究工作所取得的成果。对本文的研究做出重要贡献的个人和集体,

2、均已在文中以明确方式注明。除此之外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果。 毕业论文(设计)作者签名:黄宇、徐相如 日期: 2015年1月12日JAVA五子棋摘要五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。如今,JAVA以其独特的可移植性,跨平台性,程序体积小等多个特点成为现今网络上最流行的脚本语言。Java的跨平台性使它应用于无线手持设备、通讯终端、信息家电等多种热门领域。Java在

3、多种行业的备受推崇使Java悄然融入日常生活的每一角落。为了熟悉五子棋的规则以及技巧,与同学,电脑之间进行相互的博弈,决定用JAVA制作一个能实现局域网对战,人机对战功能的五子棋对战程序。使用JAVA语言开发的五子棋游戏程序,将五子棋游戏移植到网络中更符合现代人娱乐理念,实现单机和双人对战的游戏模式,也可以在游戏当中进行聊天,便于用户实时进行信息交流。 关键字:JAVA游戏,局域网对战,人机对战,聊天,五子棋。JAVA BackgammonAbstractsBackgammon is a two games on pure strategy board games originated in

4、ancient Chinas traditional Othello. Development in Japan, popular in Europe and the United States. Easy to use, all ages, amusing, fascinating; not only enhance the thinking ability, intelligence, and rich in philosophy, and to help self-cultivation. Today, JAVA its unique portability, cross-platfor

5、m, the program, small size and other characteristics become the most popular scripting language on the network today. Javas cross-platform so that it applied to wireless handheld devices, communication terminals, information appliances, and other hot areas. Java in a variety of industries highly res

6、pected Java quietly into every corner of daily life. Familiar with the rules and skills of backgammon, Between students with each other or a computer game, decided to create a LAN Battle and man-machine war Backgammon Battle program with JAVA. Backgammon games using JAVA language development program

7、, the backgammon game ported to the network more in line with the concept of modern entertainment, stand-alone and double play against the game mode, you can also chat in the game, whisper chat features such as user-friendly real-time exchange of information.Key words: JAVA games, LAN gaming, human-

8、computer gaming,chat, algorithm目录摘要 3Abstracts 4第一章 绪论 7背景 7第二章 开发工具与语言简介 82.1 Java简介 82.2 Eclipse开发环境简介 92.3 JAVA的优缺点 10第三章 程序的源代码与实现 123.1 界面 123.1.1 按钮 123.1.2 棋盘与棋子实现 133.1.3 文本框代码 143.1.4 布局 153.2 按钮功能实现 163.2.1 监听 163.2.2 连接 173.2.3 认输 173.2.4 新游戏 183.2.5 悔棋 193.3 基础逻辑 223.3.1 下棋 223.3.2 输赢 24

9、3.4 联网 293.4.1 联网对战 29参考文献 38第6章 结束语 39致谢 40第一章 绪论随着科技突飞猛进的发展,电脑已经进入了家家户户,而现在越来越多的热门词汇也与电脑有了关系,与电脑有关的知识也越来越受学生的喜爱,很多学生在高考填写志愿时会选择与计算机有关的学科,如数字媒体技术,影视动画,网络编程等。同时,许多公司里的有关计算机软件开发的项目有越来越高的薪酬,计算机人才也是供不应求。当然,软件的日益更新和增加也不再满足人们的需求。于是,很多人便自己动手开发自己所需要的软件,只有自己才最清楚自己是需要什么样的软件。Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,

10、多线程等特点。而且与c+相比,它通俗易懂而且操作性更强,并且除去了指针等方面的要求。通过一定的学习,人们可以使用Java开发工具开发出功能齐全,满足特殊需求的应用程序,对于学习者掌握一定的技能和开拓思维都有很大的帮助。五子棋游戏是一款较为常见的小游戏,通过双方下棋来实现胜负。我制作的五子棋游戏是通过两种模式,单机和联网,让玩家自己来决定所需的游戏模式,然后进行游戏。并有悔棋和人机对战等附加功能。在实现过程中学到了许多的专业知识,同时也巩固了在课堂上学的一系列知识。我作为一名学生,在系统的学习了JAVA语言之后,这次的课程设计正好将我学习过的JAVA语言中的各种技术综合起来。开发编写一个小游戏,

11、这不仅是对自己学习的技能的一次检验,也能系统的将学过的知识复习巩固。通过研究这一款益智游戏,可以自己动手实现想要的游戏效果。而且在开发研究过程中,我们可以复习所学过的许多Java语言知识,对所学的知识进行系统性复习,并在研究中得出了自己的心得体验。更可以在开发过程中得到许多的乐趣,使知识有一定的提高。背景五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,增山海经中记载:“休舆之山有石焉,名曰帝台之棋,五色而文

12、状鹑卵。”李善注引三国魏邯郸淳艺经中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。正如辞海中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜”。在五子棋的实现价值方面相比之下是无法和围棋相比的,但刚好是这点,造就了五子棋在社会可推广的路。学棋不是为了出成绩,因为冠军永远只有一个。棋

13、是培养习惯的一个载体。他的作用是为社会培养更多懂得思考他人的社会人才。由于五子棋比围棋简单易学,更符合目前社会的发展。所以他不需要是难度很大的规则。当然对不同层次的选手使用不同的规则也是可行的,关键看其产生的社会价值。在目前国内连基础培训都很少的时候,我想规则根本不需要考虑而对于棋子其本身来说,它的价值也是非凡的。有人说过,现阶段五子棋的价值主要体现在它的休闲性、趣味性,而并非复杂性、竞技性,五子棋现阶段还不被人熟知,更谈不上职业化,但只要好好抓住了现阶段五子棋的价值进行发展,相信在不久五子棋就会逐步被广大群众所了解和认识,认识到它更深的价值,那时五子棋就不仅仅是简单的小游戏,职业化也并非天方

14、夜谭了。相信这一天终会到来,因为五子棋本身的价值,因为古人的智慧,也因为你我的努力。因此,JAVA制作一个五子棋的程序比较有意义,贴近我们的生活,而且是我们比较感兴趣的项目,由此展开这个程序的制作。第二章 开发工具与语言简介2.1 Java简介Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内

15、存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际

16、就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的C#语言。Java技术的重要性就不讲了,从最近流行的

17、一个统计数据上来说,目前世界上编程语言Java 、C 、VB、C+依次排名前4位,这排名本身不说明什么,但至少也是工业界对编程语言使用上一个侧面的反映。Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。Java具有众多优点,比如平台无关性,安全性,面向对象,健壮式,分布式等。与c+相比,Java去掉了其中的指针运算、结构、typedefs、#define、需要释放内存等功

18、能,减少了平常出错的50%,让Java的语言功能很精炼。而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能。2.2 Eclipse开发环境简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse是一个开放源代码

19、的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。虽然大多

20、数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们

21、可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。 Eclipse的基础是富客户机平台(Rich Client Platform, 即RCP)。RCP包括下列组件: 核心平台(启动Eclipse,运行插件) OSGi(标准集束框架) SWT(可移植构件工具包) JFace(文件缓冲,文本处理,文本编辑器) Eclipse工作台(即Workb

22、ench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards) Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C+(CDT)、Pe

23、rl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等2.3 JAVA的优缺点Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,可以让Java在任何机器上运行,比如有运行在Mac或 UNIX下的虚拟机软件包。

24、虚拟机并不是Java语言本身,它是个为特定机器编写的解释器软件。Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。要称作一个通用的计算机语言,Java是最适合不过的,这意味着它可以在所有的计算机上运行,(尽管需要为各种机器编写Java虚拟机软件),可以根据需要提供软部件,并且具有内在的安全机制。用Java编写的操作系统,称为JavaOS,是个基于语言的操作系统,它看起来似乎没有机会来占据PC市场。但是它为Microsoft Windows和MacOS未来的发展提供了线索。它也许将来会应用到各种仪器设备中,包括电视遥控器和温控器。基于网络的内容

25、供应商对Java技术很感兴趣,因为它增加了交互性和动画功能,这是吸引观众的关键因素。对于软件商来说, Java有希望可以让人们采用租用软件的方式,诸如字处理器或者电子表格软件,而无需购买软件,这就改变了目前的商业模式。Java也使得网络计算机成为现实,无须硬盘的,价值500美元的PC 将可以取代Wintel 结构的计算机。所有这一切都显出Java的重要性,它的支持者把它视作对付微软和盖茨的最后的和最好的希望,这就是为什么一些人对Java表现出狂热的崇拜的原因。第三章 程序的源代码与实现3.1 界面3.1.1 按钮private JButton getgameButton() / 游戏按钮 if

26、 (gamebutton = null) gamebutton = new JButton(新游戏); gamebutton.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) /监听器 / TODO Auto-generated method stub Chess.con.game(); ); return gamebutton; 3.1.2 棋盘与棋子实现棋盘是设置一个黄色的背景,在上面绘制线条,棋子是画圆实现。private void drawChess(Gr

27、aphics g) for (int row = 0; row ChessModel.width; row+) for (int col = 0; col ChessModel.width; col+) int color = Chess.model.getChess(row, col); if (color = ChessModel.black) g.setColor(Color.black); g.fillOval(sx + col * unit - unit / 2, sy + row * unit - unit / 2, unit, unit); if (color = ChessMo

28、del.white) g.setColor(Color.white); g.fillOval(sx + col * unit - unit / 2, sy + row * unit - unit / 2, unit, unit); g.setColor(Color.red); / 刚下的棋子周围加红色矩阵 g.drawRect(sx + unit * (ChessModel.getlastCol() - 1) + unit / 2, sy + unit * (ChessModel.getlastRow() - 1) + unit / 2, unit, unit); 画棋盘: private v

29、oid drawPanel(Graphics g) for (int i = 0; i unit / 2) row+; if (x % unit unit / 2) col+; Chess.con.mousePressMe(row, col); ); 3.1.3 文本框代码 private JPanel getJpanel() / 右边创建一个面板用来接受信息和发送信息 if (jpanel = null) jpanel = new JPanel(); jpanel.setLayout(new BorderLayout(); jpanel.add(getTextField(), BorderLayout.CENTER); jpanel.add(getsendButton(), BorderLayout.EAST); return jpanel; private JTextField getTextField() / 创建文本输入框 if (textfield = null) textfield = new JTextField(); textfield.setPreferredSize(new Dimension(2

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

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