论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

泡泡堂网络游戏(论文+程序)

5       系统实现

5.1  代码结构 http://www.paper51.com

图5 代码结构 内容来自www.paper51.com

程序是用eclipse平台开发,在该平台下代码组织如图5所示。代码结构的详细介绍参考表1。 http://www.paper51.com

表1  代码结构介绍

http://www.paper51.com

文件夹

http://www.paper51.com

包名称 http://www.paper51.com

paper51.com

描述 paper51.com

Src 内容来自论文无忧网 www.paper51.com

游戏源代码

内容来自www.paper51.com

net.jeson.game.util

内容来自www.paper51.com

(存放系统中经常用到的类,系统级)

http://www.paper51.com

GameKey.java 内容来自www.paper51.com

系统级参数

内容来自论文无忧网 www.paper51.com

Util.java http://www.paper51.com

系统级的类

http://www.paper51.com

net.jeson.game.server

内容来自www.paper51.com

(存放服务器端相关的类)

内容来自www.paper51.com

Server.java

内容来自论文无忧网 www.paper51.com

服务器端的主程序

http://www.paper51.com

net.jeson.game

paper51.com

(存放启动游戏所有到的类) http://www.paper51.com

Game.java

http://www.paper51.com

启动游戏的入口类 copyright paper51.com

net.jeson.game.biz http://www.paper51.com

(存放处理一些业务逻辑的类)

copyright paper51.com

Bomb.java

http://www.paper51.com

管理放置的“泡泡”的类 内容来自www.paper51.com

Message.java paper51.com

用来封装客户端和服务器端直接通讯的消息的类

内容来自www.paper51.com

MessageManager.java paper51.com

管理消息的接收和发送

paper51.com

net.jeson.game.component

paper51.com

(存放一些可以被重用的swing组件,主要是用来UI的设计)

paper51.com

CenterShowDialog.java paper51.com

把窗口显示的位置在屏幕上居中 内容来自www.paper51.com

GameImage.java http://www.paper51.com

管理图片加载创建的类 copyright paper51.com

ImageButton.java copyright paper51.com

定义一个图片按钮 内容来自论文无忧网 www.paper51.com

ImageLabel.java 内容来自www.paper51.com

定义一个图片的label. 内容来自论文无忧网 www.paper51.com

ImagePanel.java

内容来自www.paper51.com

定义一个图片的panel paper51.com

net.jeson.game.ui

http://www.paper51.com

(游戏主要显示的界面) copyright paper51.com

Login.java 内容来自www.paper51.com

登陆游戏的界面

paper51.com

GameHall.java

内容来自论文无忧网 www.paper51.com

游戏大厅的界面 paper51.com

QQFrame.java

copyright paper51.com

启动对战场景的窗口

内容来自www.paper51.com

QQPad.java

http://www.paper51.com

对战场景中的画布 内容来自www.paper51.com

Images(存放游戏所用到的图片) 内容来自论文无忧网 www.paper51.com

Map(存放游戏对战场景中的地图。) 内容来自www.paper51.com

5.2 公共类的介绍

copyright paper51.com

系统中定义了一些公共的类,可以被客户端和服务器端多次使用,这些类里的方法多是静态的。 内容来自www.paper51.com

Ø     GameKey.java 内容来自论文无忧网 www.paper51.com

这里定义了一些系统级的一些参数,都是静态的。

paper51.com

Ø     Util.java

内容来自www.paper51.com

主要定义了4个方法,用户测试时候打印信息的,全屏的,和关闭显示窗口的方法。

内容来自www.paper51.com

Ø     MessageManager.java

内容来自www.paper51.com

声明了发送消息和接收消息的两个方法。控制着客户端和服务器端之间的数据交换。 内容来自www.paper51.com

5.3 服务器端的开发 paper51.com

服务器端开发是使用JAVA语言中的套接字,采用TCP协议进行通讯的。通讯的数据全部封装在一个Message类里面。这些数据在网络之间传输并在客户端和服务器端进行解析,得到后作出相应的动作。处理流程参考图6.

内容来自www.paper51.com

图6 服务器端处理流程

copyright paper51.com

服务器端主要用到了java中的网络编程和线程。在构造函数中,利用默认端口创建一个套接字ServerSocket(Port);然后进入一个无限循环来监听网络连接,每当有一个新的客户端连接到服务器,建立一个新的线程来处理该客户请求。之后服务器端继续监听,等待新的客户端连接。 http://www.paper51.com

try { 内容来自论文无忧网 www.paper51.com

            serversocket= new ServerSocket(port); 内容来自www.paper51.com

            System.out.println("GameServer started at:" paper51.com

                    +serversocket.getInetAddress().getLocalHost() + ":" 内容来自论文无忧网 www.paper51.com

                    +serversocket.getLocalPort()); copyright paper51.com

            while(true) {

内容来自www.paper51.com

                //设置玩家的编号:1-8

内容来自www.paper51.com

                if(number < 8) {

http://www.paper51.com

                    number++; http://www.paper51.com

                }else {

paper51.com

                    number= 0; copyright paper51.com

                    continue;

http://www.paper51.com

                }              

http://www.paper51.com

                clientsocket= serversocket.accept(); 内容来自www.paper51.com

                System.out.println("Connectionfrom:" + clientsocket); 内容来自www.paper51.com

                out= new ObjectOutputStream(

http://www.paper51.com

clientsocket.getOutputStream());                                ht_out.put(clientsocket, out); paper51.com

                ServerThreadserverThread = new ServerThread(clientsocket, copyright paper51.com

                    ht_out,number,out, allMessage);

copyright paper51.com

                Threadthread = new Thread(serverThread); copyright paper51.com

                thread.start();

内容来自论文无忧网 www.paper51.com

            }

paper51.com

ServerThread被启动后,也执行一个无限循环,对连接通道进行监听,如果有该通道发过来的信息,就对相关的信息进行处理,之后把处理后的消息转发给所有玩家。 copyright paper51.com

------分隔线----------------------------
联系方式