本程序需要解决的主要问题:
1. 游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不〖本文来自:毕业设计论文网 myeducs.cn 〗久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。
2. 网络计算机之间的数据通讯:用socket进行编程,同时由于对人同时游戏,要尽量减少网络数据的传输量,提高传输效率,防止堵塞。
3. 算法的设计:算法是游戏的核心,要设计很好的算法,提高游戏运行的效率,运行速度要高,并且资源占用的要少。
4. 线程的控制:由于涉及到对个玩家,并且要即时的将数据进行网络传输,因此可以用多个线程来并发执行这些操作。线程之间的同步和调度上要很好的控制。
5. 双缓存:在图片之间相互调用转换时,图像的画面要流畅,不能有停顿和闪烁
6. 游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,这里使用了QQ堂游戏里的一些截图来美化界面,同时对解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。
以上相关技术细节和整体流程将分别在以下小节阐述。
系统设计
本游戏开发采用C/S结构,分为服务器端和客户端两部分。
处理流程
服务器端主要处理各个客户端发过来的消息(Message),并根据消息的类型,对消息进行不同的处理,然后将处理后的消息转发或者直接转发消息到所有玩家。
客户端则监听用〖本文来自:毕业设计论文网 myeducs.cn 〗户的输入动作,包括键盘和鼠标动作,对于不同的动作做不同的处理,并根据玩家动作的类型,把所有信息封装为一个消息的实体(Message),然后发到服务器端。同时要监听服务器端的回复过来的消息当收到一个新的消息,将对消息进行解析,根据消息的类型作不同的处理,从而改变游戏场景或者状态等。
目 录
论文总页数:21页
1 引言 1
1.1 课题背景 1
1.2 泡泡堂游戏简介 1
1.3 本课题研究的意义 1
2 开发的环境及相关技术的介绍 2
2.1 开发环境 2
2.2 JAVA语言的特点 2
3 需求分析 2
3.1 游戏的操作流程 2
3.2 应该解决的问题 4
4 系统设计 4
4.1 处理流程 4
4.2 数据流 5
4.3 部署方案 6
5 系统实现 6
5.1 代码结构 6
5.2 公共类的介绍 7
5.3 服务器端的开发 8
5.4 客户端 9
5.4.1 模块设计 9
5.4.2 游戏入口程序 10
5.4.3 登陆 10
5.4.4 游戏大厅 11
5.4.5 对战场地 13
6 测试 18
结 论 19
参考文献 19
致 谢 20
声 明 21