超级俄罗斯方块V1.0说明文档 夏斯华 二零零四年三月十四日 超级俄罗斯方块V1.0(双模式) 夏斯华 本程序实现了俄罗斯方块游戏的基本功能。可以单机游戏,也可以通过TCP/IP协议进行网络游戏。涉及到了JAVA的GUI,线程控制,文件读写(IO)以及基于SOKET的网络传输。既可单机游戏,也双机联机游戏。适用于jdk1.4以上运行环境。 编写该程序,旨在对JAVA 程序设计有更深刻的了解。实践JAVA语言的应用。以及培养自己良好的JAVA编程风范。实践设计模式。 在对JAVA程序设计这门课程进行了系统学习后,运用课程中学到知识进行设计编写的软件。本程序涉及到的JAVA模块有:图形界面(GUI),线程,网络(SOCKET),以及基本输入输出。 该项目涉及到的JAVA知识有:JAVA的GUI,线程控制以及基于SOKET的网络传输。 参考书目: java有关电子版书 Thinking in JAVA(中文版)(机械工业出版社) 网上相关专题的文章 俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。 究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在我就想实现这脍炙人口好游戏。对大家来说,它的规则简单,容易上手,且游戏过程变化无穷,而在我实现的游戏中,更有一些独有的魅力――有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。 l 硬件环境: 处理器主频600MHZ以上,内存1G以上,VGA视频显示器,标准的鼠标、键盘 l 软件环境: Ø 操作系统:Windows2000+sp3或以上 Ø JDK1.4以上 l 网络要求: 要求局域网支持TCP/IP协议,局域网连接最好能稳定,传输流畅。(玩网络对战时需要) 其他的 Linux、soralis、Unix相当要求 我的俄罗斯方块可以联网运行,也可以单机运行,下面就两种模式分别进行一下介绍: 1、 联网模式:联网游戏先在一台电脑上运行程序,点选菜单中的RunServer,然后在另一台电脑上运行程序,点选RunClient,输入正确的IP地址就可以开始游戏。在自己的电脑上可以看到对方的游戏情况。 2、 单机模式:单机版游戏点选菜单中的NewGame。用上下左右键就可以控制游戏。“上”为让方块变形,其他控制方向,界面上会显示出得分和难度级别。为了演示方便,当消除10行之后难度就会升一级方块下落速度也相应加快。当游戏失败时会给出提示。- 当然在进入系统之前可以设置速度、方块形状难易程度、界面方格的行数和列数。 游戏和网络即时传输相结合。编成的过程中尽可能的使用到了继承,接口等面向对象的编程方法。 内部对象及方法: 游戏模块: class RussianGame extends JFrame 主窗口类,显示程序主界面 class OptionDialog extends JDialog 游戏参数设置选择对话框 class RussianPanel extends JPanel 用于接受键盘消息并绘出游戏界面的类。 class InsertURScore extends JDialog 此内部类处理将分数加进积分榜上 class RsnArith 提供俄罗斯方块游戏的算法支持 inner class MyPoint extends Point 算法类的内置类用于储存游戏所有方格的信息。 class Diamonds 游戏算法的一部分。储存方块信息。RussianPanel根据该类的信息在屏幕上画出方块 class IDiamonds extends Diamonds 储存长条形方块信息 class RLDiamonds extends Diamonds 储存L型方块信息 class LLDiamonds extends Diamonds 储存反L型方块信息 class RSDiamonds extends Diamonds 储存右S型方块信息 class LSDiamonds extends Diamonds 储存左S型方块信息 class ODiamonds extends Diamonds 储存四方型方块信息 class TDiamonds extends Diamonds 储存T型方块信息 class L5Diamonds extends Diamonds class R5Diamonds extends Diamonds class TriDiamonds extends Diamonds class RGDiamonds extends Diamonds class LGDiamonds extends Diamonds 由Diamonds作为基类可以很容易的扩展出更多种形状的方块 public class Score 处理游戏积分的 class ScoreReport extends JDialog 英雄榜对话框 class GameInfo 内含静态的变量,用于游戏参数的保存,有点象全局变量 public class HandlerLogger 用来处理异常处理以及其他类型日志的 网络模块: class NetThread extends Thread 用于网络连接的线程。作为一个父类提供给子类必要的功能 class ServerThread extends NetThread 服务器端的线程 class ClientThread extends NetThread 客户端的线程 public class TransInfo implements Serializable 用于储存网络传送的必要信息。比如当前游戏的状态。 当客户端或服务器端检查到游戏状态改变时互相发送给对方来实现显示同步。 箭头 表示继承关系,-横线表示此类用到了另一类或有关系。方框里的方框表示内部类。 俄罗斯方块的产生问题。用了二维数组,存放每个点对于某一个特殊点的相对位置坐标。具体见程序文件Diamond.java。 1.游戏参数设置 2.单机游戏 3.网络对战 4.英雄榜(数据持久化) 5.异常、错误、类型说明等日志 6.优美界面、人性设计1简介
1.1项目名称及编写者
1.2项目介绍
1. 3编写目的
1.4项目背景
1.5主要技术支持和相关参考
2游戏说明及使用
2.1游戏起源、历史、简介
2.2运行环境
2.3我的游戏
3详细设计
3.1系统规划:
3.2内部设计:
说明:3.3关键算法
3.4特性罗列:
超级俄罗斯方块V1.0说明文档
最新推荐文章于 2025-08-07 16:42:30 发布