辽宁科技大学本科生毕业设计(论文) 第17页
RussiaBox:方格类,是组成俄罗斯方块的基本元素,用自己的颜色来表示块的外观。 4.3.2 单机版俄罗斯方块游戏的类图
图4-3所示为单机版俄罗斯方块游戏的类图。其中包括:
① SingleBlock:单机版游戏的方块类,控制块的移动、下落、旋转变形等。 ② SingleControlPanel:单机版游戏的控制面板类,上边安放预显即将出现的方块类型的窗口、难度级别、得分、游戏状态控制按钮、背景音乐控制按钮。
③ SingleGameCanvas:单机版游戏的画布类,画布类通过检查方格颜色来体现方块的移动情况。
④ Music:单机版游戏的音乐类,实现背景音乐播放功能、更换背景音乐功能、暂停播放功能、继续播放功能和各种音效播放功能。
⑤ SingleBlocksGame:单机版游戏的主类,负责游戏的全局控制。内含:一个画布类的实例引用,一个保存当前活动块实例的引用,一个保存当前控制面板实例的引用。
图 4-3 单机版俄罗斯方块游戏类图
⑥ EnterName:单机版游戏的输入姓名对话框,按“确定”按钮将玩家姓名和成绩插入
辽宁科技大学本科生毕业设计(论文) 第18页
到数据库(heroframe)的hero表中,并显示排行榜,按“取消”按钮退出此对话框。 ⑦ HeroFrame:排行榜类,显示玩家的名次、姓名和分数。按成绩由高到低显示前50名玩家的成绩
4.4 游戏的组件图
组件图描述了软件的各种组件和它们之间的依赖关系。组件图中通常包括3种元
素:组件、接口和依赖关系。每个组件实现一些接口,并使用另一些接口。图4-5所示的是游戏的组件图。
俄罗斯游戏系统单机版游戏双人对战版游戏服务器端客户端
图4-5 游戏的组件图
4.5 游戏的配置图
数据库服务器应用服务器游戏主界面单机版界面双人版界面
图4-6 游戏配置图
配置图描述了运行软件的系统中硬件和软件的物理结构,即系统执行处理过程中系
统资源元素的配置情况以及软件到这些资源的映射。图4-6所示的是游戏的配置图。
4.6 面向连接的Socket的通信机制
Socket是两个应用程序间用来进行双向数据传输的网络接入点,它由两部分组成:
地址和端口号。地址是指应用程序所在网络主机的地址,而端口号是应用程序进行数据
辽宁科技大学本科生毕业设计(论文) 第19页
传输的端口地址。由于Socket采用客户机/服务器模式,因此在Java中有两种Socket:服务器Socket和客户Socket。两个Socket之间需要建立专线连接,如图4-7所示。图中格子代表逻辑端口,小椭圆代表Socket连接正在使用的两个逻辑端口。
Client Server IP:192.168.1.101 IP:192.168.1.100
图4-7 Socket连接的示意图
利用面向连接的Socket通信机制可以使两台计算机连接到一起,并相互通信。一
旦两台计算机完成了图4-7所示的连接即可进行对话。客户机和服务器之间的区别只有在客户机视图同服务器连接的时候才表现出来,一旦连接成功就变成了一种双向通信,它们的地位就对等了。所以服务器的主要任务是监听要求建立连接的请求,而客户机的任务是试着与一台服务器建立连接,一旦连接完成,则无论对于服务器和客户机而言,连接都成了一个I/O数据流对象。此时可以如同读写一个普通的文件那样来对待连接。因此一旦建好连接,只需使用自己熟悉的I/O命令读取文件即可,这正是Java用于网络编程的方便之处。
4.7 数据库设计
4.7.1 本游戏采用的数据库
MySQL数据库是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL 完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。
与其他数据库系统进行比较时,所要考虑的最重要的因素是性能、支持、特性、认证条件和约束条件、价格等。相比之下,MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL 还有一个最大的特点,那就是在Windows 系统上,其客户机程序和客户机程序库是免费的。
在本游戏中,由于只有单机版的排行榜功能涉及到数据库的插入和查询,操作比较
辽宁科技大学本科生毕业设计(论文) 第20页
简单,不涉及复杂的操作。因此本游戏采用MySQL数据库。 4.7.2 本游戏涉及的数据表
本游戏中只涉及到一个排行榜(hero)表格,用来存储玩家的名次、姓名和得分。
当游戏结束后,玩家可通过对话框输入自己的姓名,如果玩家不输入姓名直接点击“确定”按钮,系统将自动记录玩家的得分。并把结果输入的hero表中。表4.1为排行榜数据表(hero)。
表4.1 排行榜表(hero)
字段名
id name score
类型
int char int
长度
40
意义
序号 玩家姓名 玩家分数
可否为空
N Y N
关键字
Y N N
4.8 游戏的总体流程图
流程图是流经一个系统的信息流、观点流或部件流的图形代表。使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
图4-8所示为游戏的总体流程图。主要用来说明游戏的执行过程。
说明:玩家进入俄罗斯方块游戏主界面后先判断是否进行单机版游戏,如果是即可开始游戏,直到游戏结束;如果不是在判断玩家是否选择双人对战版游戏,如果是即可开始游戏,直到游戏结束;如果不是,即可结束游戏。
辽宁科技大学本科生毕业设计(论文) 第21页
开始进入游戏主界面进入单机版游戏否?否进入双人版游戏否?是否是开始游戏结束图 4-8 游戏总体流程图