基于Java的-网络版五子棋-游戏的设计和实现毕业设计.doc
《基于Java的-网络版五子棋-游戏的设计和实现毕业设计.doc》由会员分享,可在线阅读,更多相关《基于Java的-网络版五子棋-游戏的设计和实现毕业设计.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要目前,随着计算机网络的发展,以计算机技术和网络技术为核心的现代网络技术已经在现实生活和生产中得到了广泛的使用,休闲类网络游戏集趣味性,娱乐性,互动性和益智性于一体,已经成为多数人群的休闲方式,也为多数人所喜好。 本设计收集了关于JAVA基础的书籍,着重收录了关于SOCKET编程的内容,找到了五子棋概述和规则的资料,查阅了网络通信技术的相关论文,同时也参考了很多关于五子棋实现的程序资料以及关于JAVA开发工具的介绍的文档。在期间,作者学习了多线程技术、数据传输技术、SOCKET编程技术,研究了网络通信原理、JAVA编写原理等一系列的原理。开发了五子棋网络对战的代码,实现了网络聊天、联机对战
2、、网络通信、界面组织如:棋盘、建立服务器、连接到服务器等功能。通过对以上技术的学习和研究,利用SOCKET编程,能服务器与客户端之间的连接,利用多线程技术完成了服务器端与客户端之间的数据传输、网络通信,使得两个客户端能够同步的进行处理。 关键词: JAVA 多线程 SOCKET 五子棋AbstractAt present , with the development of computer networks , computer and network technology as the core of modern network technology has been widely use
3、d in real life and production, the casual game set interesting , entertaining, interactive and puzzle in one, has become the majority population of leisure, but also for the majority of people have preferences. The design of the collection of books on the JAVA -based , focusing on the collection of
4、content SOCKET programming , found the data overview and backgammon rules , access to the network communication technology related papers also refer to a lot of information on backgammon program implementation as well as on document describes the JAVA development tools . In the meantime, I learned t
5、he multi-threading technology, data transmission technology , SOCKET programming technique to study the principle of network communication , JAVA write a series of principles such as the principle . Developed backgammon online play code implements online chat , online gaming, network communications,
6、 interface organizations such as : the board , establish a server , connect to the server and other functions. Through the above technical study and research , the use SOCKET programming, connections between the server and client can use multi-threading technology to complete the data transfer betwe
7、en the client and the server , and network communication , so that both the client can synchronize for processing.Keywords: JAVA multithreading SOCKET Gobang目录1 绪论11.1 背景及意义11.2 选题的目的11.3 五子棋介绍21.4 主要完成内容22 开发环境及工具介绍32.1 开发环境及运行环境32.1.1 开发环境32.1.2 运行环境32.1.2 开发工具32.2 Java 简介32.2.1 Java的起源和发展32.2.2 J
8、ava特点42.3 Java Socket 网络编程简介52.3.1 Java Socket 网络编程基础52.3.2 Socket编程的实现62.4 Java 图形编程72.5多线程机制73 需求分析和总体设计93.1 需求分析作用93.1.1 界面需求分析93.1.2 软件需求分析93.2 总体设计93.2.1 系统设计思想103.2.2 系统总体设计103.3 功能模块及流程113.3.1 系统主要模块113.3.2服务器端作用123.3.3客户端作用134 详细设计及实现154.1 系统主流程154.2 如何判断输赢164.3 开发环境的搭建194.4 功能模块的界面实现205 软件的
9、测试235.1 软件测试的方法236 总结语25参考文献26 1 绪论1.1 背景及意义1背景随着经济社会的迅速发展,人们生活水平有了很大的提高,人们的生活观念也发生了巨大的改变。高品质的生活、现代化得生活方式成为人们共同追求的目标;休闲、娱乐性活动作为时尚生活中的一部分,而被大多数的人所追捧。棋类项目作为一种智力型项目,可以益智健心、修身养性,也可以满足人们对于娱乐和休闲的新需求。一些项目比如五子棋等等,由于项目本身互动的特点,一直被人们所喜爱,因此得以生存和发展,成为许多人喜爱的休闲娱乐性棋类项目。 而今,以网络技术为核心和计算机技术的现代网络技术已经在现实生活得到了十分的广泛的使用。休闲
10、类网络游戏集合了益智性、趣味性、互动性、娱乐性于一体,已经成为多数人群的选择的休闲方式。借此,本论文在分析了当前计算机网络的蓬勃发展和人们对于休闲娱乐性生活方式的追求,以java语言为工具,在MyEclipse的环境那下,以精美的界面,以常规安全的socket建立连接,设计更为益智的网络版五子棋游戏,增强了趣味性和益智性。2意义现在人们压力日益增大,人们需要劳逸结合也获得更高的工作效率,工作之余的娱乐对每一个人来说都是必不可少的放松方式。五子棋游戏简单易学同时具有很大奥妙性,也非常富有趣味性与消遣性。在经过不断发展后,五子棋已经成为棋盘娱乐的重要的组成部分,它能够开发智力、增强思维能力,而且富
11、含哲理,有助于修身养性。是人们休闲娱乐的不二的选择。而网络互动娱乐是近几年迅速发展起来的新的娱乐形式,成为IT产业中增长最快的娱乐形式之一。网络五子棋游戏很多是使用Java语言开发的一款游戏。它使用SOCKET建立连接,多线程处理数据,这些特点使这款游戏无论是客户端还是服务器的实现都相对容易。1.2 选题的目的随着计算机网络技术的不断发展,网络游戏已经成为最具潜力的热点领域。各种各样的游戏使人眼花缭乱,而特别是其中一些休闲益智类的棋牌游戏,集娱乐性、趣味性、益智性和互动性于一体,拥有很大的用户。棋类游戏能锻炼人的思维,起到修身养性的作用。五子棋游戏可以分为两类:一类是单机版五子棋游戏,另一类是
12、网络五子棋游戏。随着计算机网络和JAVA技术的不断发展,使用Java开发网络五子棋游戏将是一个实用性很强的毕业设计项目。网络五子棋游戏的总体功能是要设计出具有精美界面的,具备人工智能的,支持网络对弈的五子棋游戏。本系统最终的目的是建立一个有具体规则的网络五子棋平台,达到网络对弈的目的。1.3 五子棋介绍五子棋起源于中国古代的传统黑白棋种之一,是一种两人对弈的纯策略型棋类游戏。现代五子棋日本称之为“连珠”,英译为Renju,英文为“FIR”(Five in a Row 的缩写)或“Gobang”,中文有“串珠”、 “五子连”、“连五子”等很多种名字。它发展于日本,流行于欧美。容易上手,老少皆宜,
13、而且引人入胜;不仅能提高智力,而且富含哲理。传统五子棋的棋具与围棋类似,棋子分为黑白两色,棋盘有大有小,棋子放置于棋盘线交叉点上。两人对局,各选一色,轮流落子。五子棋游戏规则:游戏双方轮流在棋盘下棋子,一方的棋子在横、竖、两个对角线上首先到达五子者为胜方。因为五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。随着五子棋的发展,逐步发现先行优势非常大,最后总结出“先行必胜”的结论。五子棋成为竞技运动,核心问题是怎样解决传统五子棋下法中“先行必胜”的问题。而竞技五子棋便是参赛双方打破“先行必胜”的问题,以棋盘和棋子为介体,进行智力性对抗的竞技体育项目。1.4 主要完成内容本课题为了分析了
14、五子棋规则及技巧,以及研究客户端界面的布局,决定用Java开发五子棋游戏。主要完成客户端界面设计和网络对战2个功能模块。客户端负责收集用户的信息和界面维护,以及错误处理;服务器的建立以及对战用户的基本信息和两个对战用户的棋盘信息,判断输赢。2 开发环境及工具介绍2.1 开发环境及运行环境2.1.1 开发环境 Microsoft Windows XP或以上版本 JDK 1.60 MyEclipse8.52.1.2 运行环境 Microsoft Windows XP或以上版本 操作系统 1024*768或以上的屏幕分辨率2.1.2 开发工具Java的开发工具很多,比如JBuilder、MyEcli
15、pse、NetBeans IDE、JCreator 等等,不同的工具可能对开发不同的程序有针对的优势。我选择MyEclipse进行编写,我们说一下MyEclipse的优势。 MyEclipse是一种具有可扩展的开放源代码IDE。MyEclipse可以在同一IDE中集成了来自不同供应商的工具,并实现了工具之间的相互操作,从而显著简化了项目工作流程。 MyEclipse框架的灵活性来自于它的扩展点。在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从简单字符串,到一个Java类的描述。 MyEclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件。2.2 Java 简
16、介Java是一种简单的、分布式的、面向对象的、可移植、解释的、安全的的多线程语言。它以其平台无关性、硬件结构无关性、强安全性、面向对象、语言简洁的特点,在网络编程语言中占据了无可比拟的优势,成为实现电子商务系统的首选语言2。2.2.1 Java的起源和发展Java是Sun公司在1995年推出的新兴的编程语言,它是一种跨平台的、应用于当前高速发展的网络的编程语言。在编程语言中,可认为Basic语言促使了C语言的出现,C语言促进了C+的出现,而C+又促使了Java语言的出现。自从Java正式推出后,以它特有的优势迅速发展,经过几年的发展,Java已经在软件开发等领域占有很大的市场。Java分为三种
17、:J2SE、J2EE和J2ME。J2SE是Java平台标准版3,主要应用于桌面程序和Java小应用程序开发;J2EE主要用于企业级开发和大型网站的开发;J2ME主要用于手机等移动设备程序的开发。2.2.2 Java特点 平台无关性Java的平台无关性能让这种软件在每个平台上都能正常地运行,就是只要写一次程序,在任何地方、任何时间该程序永远都能够运行。Java解释器生成与体系无关的字节码指令,这些指令对应于Java虚拟机里表示,Java解释器得到字节码后,对它进行转换,只要安装Java运行系统,Java就可以在任何处理器上运行。 简单性Java语言是一种面向对象的语言,它通过提供最基本的方法来完
18、成指定的任务,开发者只要知道一些概念就能够编写一些应用程序。 多线程设计Java的多线程,是为了满足人们对创建交互式网上程序的需要。用Java编写出来的应用程序可以同时执行很多任务。多线程机制使应用程序可以并行执行,而且同步机制保证了对共享数据的正确操作。 健壮性Java语言被病毒感染和破坏得最少。Java丢弃了难学和危险的指针功能,而大部分病毒程序常用的方法就是通过巧妙地运用地址变量如指针来获取计算机的资源,从而使程序不安全。 面向对象语言Java的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装它的状态变量和相应的方法,实现了模块化和信息的隐藏;而类则是提供对象的
19、原型,并且通过继承的机制,子类可以使用父类所提供的方法,以实现代码的复用。 自动内存管理也可以说自动内存管理是Java健壮性的体现,内存管理是很多种应用程序内的很关键因素。在网络上的其他地方读取大量的数据,之后把该数据写入硬盘上的数据库内,一般的设计就是把数据读入内存中的某些集合内,对这些数据执行某些操作,之后把数据写入数据库。在数据写入数据库后,在下一批处理之前,临时存储数据的集合必须清空旧数据,或被删除后再建。这种操作可能执行很多次,很多语言要手工清空或删除集合数据结构。Java的自动内存管理4正好解决这一点,它使程序员不用再为内存管理写大量的代码。2.3 Java Socket 网络编程
20、简介2.3.1 Java Socket 网络编程基础网络编程,简单的理解就是两台计算机相互通信。其基本模型就是客户机/服务器模型,也就是通信双方中的一方必须提供一个固定的端口,而另一方则只需要知道这个端口,并去建立两者之间的联系,然后完成数据交换。这里提供固定位置的一方通常称为服务器,而建立联系的一方通常称为客户端5。基于客户机/服务器的Socket通信模型如图2-1所示:接收服务结果向服务器发出服务请求向服务器发送连接请求将处理结果反馈给客户端解释并处理请求信息接收用户请求信息阻塞,等待建立连接在Socket上监听客户端请求在制定服务器端公认的地址和端口服务器端创建Socket对象创建Soc
21、ket对象客户端建立连接请求信息反馈信息图2-1 基于客户机/服务器的Socket通信模型图Socket工作过程如下:(1)建立连接:服务器端程序分配一个端口号,开始监听来自客户端的请求。当客户请求一个连接时,服务器使用accept()方法打开Socket连接,将该Socket连接到此端口上。(2)数据通信:服务器和客户端使用Socket的InputStream(输入流)和OutputStream(输出流)进行通信。(3)关闭连接:通信结束,服务器和客户端程序断开连接,释放所有占用的系统资源。Java为这个模型的实现提供了简化的Socket编程接口。在程序中只要导入java.io包就可以方便的
22、使用java的Socket编程接口。Java中Socket连接机制如图2-2所示:服务器ServerSocket(port#)ServerSocket()Socker()OutputStreamInputStreamServer.close()客户端Socket(host,port#)(Attemptto connect)OutputSteramInputStreamSocket.close()图2-2 Socket的连接机制62.3.2 Socket编程的实现Socket类表示了系统的IP地址和端口号的结合,可以理解为客户端或者服务器端的一个特殊对象。它包含两个处理流的方法,一个是getIn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 网络版 五子棋 游戏 设计 实现 毕业设计
限制150内