基于Java的俄罗斯方块的设计与实现毕业论文


    



    科生毕业文(设计)
    基Java俄罗斯方块设计实现



    姓  名

    学  号

    专  业

    指导教师






    2013年X月X日
    摘 
    俄罗斯方块作款风靡全球样化终端游戏久衰俄罗斯方块简单基游戏规旋转移动游戏动机输出7种形状方块旋转形成28种形状方块堆叠起排列成完整行行消分积分达定程度会动提升级该游戏手简单老少皆宜家喻户晓
    文详分析传统俄罗斯实现基原理基规基础更深步研究俄罗斯方块创新模式典模式基础开发出等级变模式进步开发出颜色变模式意改变界面背景色前景色等文功出实现流程详描述部分源代码
    文阐述该游戏历史开发游戏意义环境根软件工程相关知识进行系统需求分析概设计详细设计实现调试运行进行描述
    设计Microsoft Windows XP系统Java开发语言MyEclipse开发台进行游戏设计实现

    关键词:游戏俄罗斯方块软件工程MyEclipse

    Abstract
    Tetris is a popular global diversification of terminal enduring gameSimple basic rules of the game is rotating moving automatic random output of 7 kinds of shape square game It forms 28 kinds of shape after rotating cube stacked together forming complete one or more lines to eliminate score Its level automatically rises with the score The game is easy for young and old has become a household name
    This paper not only give the detailed analysis of the traditional Tetris which based on the basic principle and simple rules but also develop the color variable model such as random change the background color and foreground color and so on Further more in this paper the above functions are given the implementation process the detailed description and some source code
    The paper expounds the history of the game develops the meaning of the game and the environment of design According to the relevant knowledge of software engineering the author reports the demand analysis outline design detailed design planning and execution of the test This design is under Microsoft Windows XP system based on Java development language the MyEclipse development platforms to carry on the design and implementation of the game

    Key Words Game Tetris Software engineering MyEclipse

    目 录
    1 引 言 1
    2 系统需求分析 2
    21 系统需求 2
    22 接口控制 2
    3 系统概设计 4
    31 软件运行开发工具 4
    32 系统功设计 4
    321 手工处理业务基流程 4
    322 基流程功模块 5
    4 系统详细设计实现 8
    41 游戏界面显示模块 8
    42 画布方块显示模块 9
    421 背景画布模块设计 10
    422 预览方块模块设计 11
    423 方块移动旋转设计 14
    43 控制面板模块 18
    431 菜单栏模块设计 18
    432 控制面板钮设计 20
    5 系统调试运行 21
    51 测试意义注意事项 21
    52 游戏代码算法测试 21
    53 游戏界面菜单选项功测试 22
    54 键事件功测试 24
    55 方块堆砌消行测试 25
    56 测试结果分析 26
    6 结 27
    参考文献 28
    致 谢 29


    1 引 言
    俄罗斯方块影响已毋庸置疑 世界电脑手机处俄罗斯方块踪迹时更游戏台必备游戏相关复制品胜枚举早莫斯科数学家亚力克西·帕杰诺夫(Alexey Pajituov)设计作品公认史畅销典游戏魅力减年亚力克西·帕杰诺夫俄罗斯科学研究院电脑中心工作 时Eletronica 60旧型俄罗斯机进行开发工作 种机器支持图形界面 PC兼容尝试种传统拼图游戏Pentomino 改写成电脑游戏Pentomino 十二种形状 七方块组合成帕杰诺夫试着写程序 旋转移动十二种形状方块 拼成块修改发展成现熟悉典模式俄罗斯方块引起轰动制造济价值说游戏史拟似简单变化穷令爱释手
    俄罗斯方块游戏计算机发展发展断推陈出种新演变出类似游戏 深受广玩家喜爱游戏模式简单复杂 根原理机出现方块进行组合 训练玩家反应力逻辑思维力游戏软件 数视神妙莫测 高东西般说游戏软件确实具高技术难度 着开发工具软件开发方法学断发展 动手开发游戏非难事俄罗斯方块游戏说种古老趣游戏游戏软件计数 网关游戏实现复杂算法设计 难度般初学者步文利数组作方块数结构颜色变化作方块落移动标识提出种Java语言实现游戏简易方法典模式基础实现等级变颜色变等功初学者仿开发类似游戏 解游戏软件设计开发程
    俄罗斯方块游戏益智简单乏挑战创意独特游戏模式吸引众游戏爱者老少皆宜社会里工作压力着生活节奏快速提高逐渐繁重减少支配休息时间迫切需种简单节省时间快速休闲方式争议永恒娱乐典代码简单界面简洁初发行时单游戏机现便捷安装电脑手机MP4电子词典商务通IPADITOUCH等便携设备俄罗斯方块风靡世界久衰次课题研究说游戏开发次尝试技术社会意义价值

    2 系统需求分析
    系统需求分析户开发员系统必须做什问题实现相互理解达识形成双方认软件产品需求规格样利提高软件开发程中见度便软件开发程控制理便采工程化模式开发软件达提高软件质量开发员维护员理员间交流协作提供便捷作工作成果原始系统需求分析潜户传递软件功性需求够判断该软件否符合需求
    21 系统需求
    系统机产生7中形状方块旋转28种状态方块落玩家通键盘控制方块移动旋转方块摆放适位置果方块落时方块填满整行该行消消行玩家分增加10分满100分玩家等级增加级存空格方块填满整窗口游戏宣告失败游戏功需求:
    游戏界面需求:设计良游戏界面玩家充分感受游戏带娱乐性游戏默认背景色深绿色界面方块默认橘黄色预显方块颜色默认淡紫色背景色前景色鲜明达玩家眼前亮感觉游戏达高等级状态方块落速度渐高情况玩家够清楚分辨出落方块形状增加游戏刺激性
    游戏形状需求:数组作存储方块28种状态数结构长条形Z字形反Z形田字形7字形反7形T字型7种形状4方旋转变形方块实现意变形设时针变形逆时针变形般逆时针变形方块否翻转需加判断防止翻转越界
    键盘处理事件需求:方块落时通键盘方键(键键左键右键)字母键IKJL落方块进行(旋转变形)(加速落)左移动右移动
    鼠标处理事件需求:通点击菜单栏中相应菜单项控制面板钮实现游戏开始结束暂停继续提高等级降低等级预显方块形状显示分数等级显示游戏帮助颜色变换等功
    显示需求:方块填满行时消行剩余未填满行逐次移动统计分数达定分数时候会增加相应等级方块充满界面行方块落时提示Game Over字样
    非功性需求:系统非功性需求包括游戏界面左角显示图标需求窗口尺寸调整性需求游戏运行时界面弹出位置居中需求等
    22 接口控制
    游戏通键盘鼠标进行操作Windows操作系统利键盘键方块进行移动变形键盘接口事件游戏鼠标游戏进行全程控制游戏开始暂停继续查游戏帮助更改界面颜色更改游戏等级等通鼠标单击键添加监听事件编辑相应代码实现相应功
    3 系统概设计
    31 软件运行开发工具
    操作系统:Microsoft Windows XP Professional Service Pack 3
    存:2G
    硬盘:320G
    CPU:赛扬28
    交互工具:键盘鼠标
    显示器:VGA显示器
    JDK版:jdk16002
    Eclipse版:MyEclipse 85 SDK34win32
    32 系统功设计
    321 手工处理业务基流程
    游戏设计娱乐初衷益智目综合研究俄罗斯方块典游戏功基础推陈出新加新功赋新生机活力图31游戏基流程图具体阐述游戏基流程
    运行说明:
    1>运行程序点击右侧控制面板开始控制菜单开始钮开始游戏
    2>左右键IKJL键控制方块变形落左右移动
    3>方块满行消分数动增加分数满100等级动增加级
    4>等级增加方块落速度增加右侧控制面板游戏菜单提高等级降低等级钮手动改变游戏等级点击颜色菜单选项更改前景色背景色
    5>右侧控制面板控制菜单暂停控制游戏暂停然继续控制游戏继续次游戏停止钮游戏会彻底停止正进行局游戏开始控制菜单重新开始会开始新游戏
    6>方块占满整窗口新方块落时游戏会弹出Game Over话框提示游戏结束


    图31 游戏基流程图
    322 基流程功模块
    系统基游戏项功设计游戏功模块图32游戏系统功模块示意图图示游戏两模块:游戏界面区游戏控制区游戏界面区分显示玩家选操作显示玩家操作结果两部分游戏控制区分更改颜色开始暂停继续停止重新开始提高等级降低等级退出等功模块


    图32 系统功模块示意图
    图33游戏界面区模块设计示意图图示游戏界面区模块细分闯进新游戏界面处理玩家操作显示玩家操作结果三功模块


    图33 界面模块示意图
    图24游戏控制区设计示意图图示游戏控制区模块分开始暂停继续初始游戏级设置初始颜色设置退出等功模块

    图34 控制区模块示意图
    4 系统详细设计实现
    Java种纯面象(ObjectOriented)程序语言诸优点作详细述面象观念出发程序分模块:
    l 游戏界面显示模块
    l 方块数显示模块
    l 方块移动控制模块
    l 游戏界面颜色控制模块
    l 游戏进度等级控制模块
    分析象技巧功扩展性维护效率试想果外部环境者户需求变化需程序进行功扩展者维护代码作幅度更动甚重写样失面象优势程序分析时独立性高模块作象提高程序扩展性维护性该游戏中类设计:
    ControlMainGame类:继承JFrame类作游戏类负责游戏体全局进行控制连接指挥类枢纽
    ControlPanel类:继承JPanel类作操作面板类负责安放游戏窗口积分板级控制钮等窗口控制游戏进程
    ChangeBlockColor类:继承JPanel类ChangeBlockColor线程类动态改变画布类方格颜色画布类通检查方格颜色体现ChangeBlockColor方块移动情况消状况
    BlockPaint类:方格类组成方块基元素表达方式颜色
    BlockOperation类:继承Thread类作操控方块类控制方块移动落变形
    41 游戏界面显示模块
    优秀软件系统仅体现核心功样性强果者面枯燥陈旧界面话软件系统成功精美界面设计极重环节玩家设计制作布局合理视觉效果良界面重性言喻
    游戏界面采Swing组件开发注册监听器实现种控制功综合游戏窗体设计少需注册三监听器分动作监听器(ActionListener)键盘监听器(KeyListener)选项监听器(ItemListener)
    根初步设计确定客户端Swing组件象JFrame象JPanel象JLabel象JButton象JMenuBar象JMenu象JMenuItem象JTextField象JTextArea象JDialog象等少十Swing组件象图41游戏界面截图

    图41 游戏界面截图
    游戏界面设计初始颜色搭配基鲜明原默认背景色深绿色左角设置俄罗斯方块图标分初始值0等级初始值1高分记录初始值0游戏窗体尺寸设置(520580)方块移动范围窗格20行12列二维数组控制左角图标设置方块图案起标识作
    42 画布方块显示模块
    游戏中画布底色默认设计成深绿色方块落程中根颜色变化识落方块
    421 背景画布模块设计
    该游戏背景画布20行12列二维数组方块显示相应颜色变化标识窗体颜色填充形成呈现出背景样式方块游戏继承JPanelChangeBlockColor类控制背景画布显示rows代表画布行数cols代表画布列数行数列数决定着画布拥方格数目背景画布实现代码:
    *
    ChangeBlockColor 类
    画布类构造函数
    rows int 画布行数
    cols int 画布列数
    行数列数决定着画布拥方格数目
    *
    class ChangeBlockColor extends JPanel
    {
    private Color backColor new Color(0510) frontColor new Color(2551530)
    private int rows cols score 0 scoreForLevelUpdate 0
    private BlockPaint[][] boxes
    private int boxWidth boxHeight
    public ChangeBlockColor(int rows int cols)
    {
    thisrows rows
    thiscols cols
    boxes new BlockPaint[rows][cols]
    for (int i 0 i < boxeslength i++)
    {
    for (int j 0 j < boxes[i]length j++)
    {
    boxes[i][j] new BlockPaint(false)
    }
    }
    }
    画布类构造函数
    public ChangeBlockColor(int rows int cols
    Color backColor Color frontColor)
    {
    this(rows cols)
    thisbackColor backColor背景色
    thisfrontColor frontColor前景色
    }
    覆盖JComponent类函数画组件
    g 图形设备环境
    public void paintComponent(Graphics g)
    {
    superpaintComponent(g)
    gsetColor(frontColor)
    for (int i 0 i < boxeslength i++)
    {
    for (int j 0 j < boxes[i]length j++)
    {
    gsetColor(boxes[i][j]isColorBox() frontColor backColor)
    gfill3DRect(j * boxWidth i * boxHeight
    boxWidth boxHeight true)
    }
    }
    }
    422 预览方块模块设计
    方块数信息游戏中基功模块ShowBeforePanel类提供方块预显图形 blockkindnum控制机产生方块编号blockstatusnum控制方块四种旋转状态定义4x4方阵16格01表示方格绘制新颜色保留底色
    新方块机七种形态方块中选取种游戏定义变量代表新方块模型定义int型数组STYLE代表28中方块类型7行4列元素代表中种方块0方块落需新方块时需机blockkindnumblockstatusnum值然根STYLE值构画相应方块剩问题应该机STYLE行列值
    Java语言包中Math类提供生成机数方法random()调方法会产生01间双精度浮点数次新方块时需调次方法01双精度浮点数然该数7强转成整型1—7整数控制行该数4强转成整型1—4整数控制列
    组合出种图形定义然代码实现列功:
    1>次执行首先机数产生初值
    styleBlockOperationSTYLES[(int)(Mathrandom()*7)][(int)
    (Mathrandom() * 4)]

    图42 机产生方块图

    2>机选取图形图31机产生方块图具体描述生成机数控制产生图形
    3>前图形4*4网格中位置信息
    绘制4行4列方块预显方格机生成预显示方块样式游戏二维数组存储方块28种样式
    public final static int[][] STYLES {分应7种模型28种状态
    {0x0f00 0x4444 0x0f00 0x4444} 长条型四种状态
    {0x04e0 0x0464 0x00e4 0x04c4} 'T'型四种状态
    {0x4620 0x6c00 0x4620 0x6c00} 反'Z'型四种状态
    {0x2640 0xc600 0x2640 0xc600} 'Z'型四种状态
    {0x6220 0x1700 0x2230 0x0740} '7'型四种状态
    {0x6440 0x0e20 0x44c0 0x8e00} 反'7'型四种状态
    {0x0660 0x0660 0x0660 0x0660} 方块四种状态}

    数组相应方块样式截图
    l 长条型四种状态

    图43 长条型状态截图

    l 'T'型四种状态





    图44 T型状态截图

    l 反'Z'型四种状态





    图45 反Z型状态截图

    l 'Z'型四种状态




    图46 Z型状态截图






    l '7'型四种状态

    图47 7型状态截图

    l 反'7'型四种状态






    图48 反7型状态截图

    l 方块四种状态

    图49 方块状态截图
    423 方块移动旋转设计
    方块翻转移动较容易实现方块移动需改变方块横坐标坐标然重新绘制方块方块翻转需改变背景数组值重新绘制方块
    游戏方块落时进行动态绘制实现Cloneable接口 指示 Objectclone() 方法合法该类实例进行字段复制方块操作类BlockOperation继承Thread类重写run()方法实现方块动态正确落然线程中判定方块处moving状态pausing状态
    public void run()
    {
    moving判定方块否动态落
    while (moving)
    {
    try
    {
    betweenleveltime指示相邻等级间相差时间
    sleep(betweenleveltime
    * (ControlMainGamemaxlevel level + flatgene))
    } catch (InterruptedException ie)
    {
    ieprintStackTrace()
    }
    pausing判定游戏否处暂停状态
    if (pausing)
    moving (moveTo(y + 1 x) && moving)
    moving等100毫秒间moving没改变
    }}
    然游戏中判定方块移动边界问题 方块左边正差格子空间够翻转右边恰格子空间种情况果方块够翻转方便户操作果够翻转会发生越界已存方块挤占掉想实现翻转发生越界应该方块翻转右边移动格子然绘制方块样方块会挤占掉已固定住方块解决越界问题
    1>方块翻转判定
    两种情况发生越界种方块落固定住第二种周围空间允许进行翻转
    第种情况需参考方块落够移动判定
    第二种情况次方块翻转前必须首先计算出方块周围空间果空间允许翻转否翻转
    七种方块规种方块求翻转空间样甚翻转状态求翻转空间样首先想然种方块方块种状态写判定条件样做未免麻烦
    根观察难发现七种形态方块长条形方块果横条形态落够落翻转果竖条形态落翻转处位置必须4x1格子空间够翻转田字形方块够继续坠定够翻转田字型方块没落直够翻转五种形态方块点两种翻转状态横占三格子空间竖直方占两空间外两种翻转状态横占两格子空间竖直方占三格子空间果横占三格子状态落落定够翻转果横两格子状态落翻转周围必须3x2格子空间
    方块翻转判定分三种情况第种情况方块落翻转第二种情况竖直状态出现长条形方块进行翻转判定第三种情况长条形田字形外五种横占两格子状态出现方块进行翻转判定
    种情况方块够翻转问题解决接应该解决方块翻转处位置问题事先知道方块翻转处位置够位置空间范围进行判定判定否够容纳方块
    确定方块翻转处方块数组中说方块必定游戏图中某4x4格子空间范围
    方块数组游戏界面中坐标确定确定方块翻转底处方块数组位置解决问题限定方块方块数组中存储原左样翻转翻转方块数组中第行第列方块样确定方块方块数组中位置知方块翻转游戏图中位置
    假定方块数组横坐标xy位置长条形方块翻转处行游戏图第y行占列第xx+3列长条形田字形外五种方块翻转占行数游戏图第y第y+1行占列第xx+2列
    果空间空格子方块够翻转
    2>翻转越界纠正
    方块翻转处空间足够方块够翻转果方块翻转处空间足够边足够空间呢?
    方块边界处时翻转仅翻出图外发生数组越界然需图数组定义够避免数组越界错误方块越界果边足够空间应该方块方移动适单位纠正方块越界错误图410方块翻转流程图示方块翻转需三次判定:否已落底部翻转否足够空间翻转否越界


    410 方块翻转处理流程图

    玩家操作键盘实现方块移动旋转代码引进ControlKeyListener类继承KeyAdapter类进行键盘监听功实现KeyAdapter类继承Object类实现KeyListener接口接收键盘事件抽象适配器类类中方法空类存目方便创建侦听器象扩展类创建 KeyEvent 侦听器重写需事件方法 ControlKeyListener类ControlKeyListener创建侦听器象然组件 addKeyListener 方法该组件注册侦听器象释放键入某键时调该侦听器象中相应方法 KeyEvent 传递相应方法实现代码:
    private class ControlKeyListener extends KeyAdapter
    {
    public void keyPressed(KeyEvent ke)
    {
    if (gameisPlaying())
    return

    BlockOperation blockope gamegetCurBlock()
    switch (kegetKeyCode())
    {
    case KeyEventVK_DOWN
    blockopemoveDown()
    break
    case KeyEventVK_LEFT
    blockopemoveLeft()
    break
    case KeyEventVK_RIGHT
    blockopemoveRight()
    break
    case KeyEventVK_UP
    blockopeturnNext()
    break
    default
    break}}}
    43 控制面板模块
    431 菜单栏模块设计
    菜单栏中游戏背景控制帮助四菜单选项游戏选项分新游戏提高等级降低等级退出四选项背景选项分前景色背景色分干种颜色控制选项分开始暂停重新开始停止帮助选项分游戏帮助关相关截图图411图412图413图414示

    411 菜单栏游戏选项 412 菜单栏背景选项


    413 菜单栏控制选项 414 菜单栏帮助选项
    1>新游戏钮功实现游戏画布重新绘制类似reset功该钮监听实现代码
    新游戏钮添加监听
    miNewGameaddActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent ae) {
    停止游戏
    stopGame()
    游戏复位初始状态
    reset()
    设置游戏难度
    setLevel(initlevel)
    }
    })

    2>提高等级降低等级钮手动调节游戏等级改变方块落速度 退出钮控制游戏时退出终止游戏
    3>背景钮中前景色背景色黑色白色红色蓝色等选项根选项更改界面预显窗口背景色方块颜色玩家根喜更改游戏窗口颜色方便快捷
    4>控制选项开始子选项控制游戏开始点击钮方块开始落
    5>帮助钮中游戏帮助选项点击弹出话框显示游戏帮助信息点击6>关钮显示游戏软件身相关信息具体信息图示:
    432 控制面板钮设计
    游戏控制面板中包含分统计等级统计高分记录统计等字段
    中TextField控件均游戏身统计出玩家私编辑游戏游戏规消行10分增加100分升等级初始分0初始等级1高分记录记录游戏目前高分记录
    出分等级更新字段代码:
    行游戏者叠满行清游戏者加分
    row int 清行BlockPaintesGame类计算
    synchronized设置步
    public synchronized void removeLine(int row)
    {
    绘制方块
    for (int i row i > 0 i)
    {
    for (int j 0 j < cols j++)
    boxes[i][j] (BlockPaint) boxes[i 1][j]clone()
    }
    次消行加10分
    score + ControlMainGamescoreplus
    等级更新
    scoreForLevelUpdate + ControlMainGamescoreplus
    重绘画布
    repaint()}
    控制面板中钮功431中已出代码赘述
    5 系统测试运行
    51 测试意义注意事项
    软件测试软件设计程中极重环节保证软件质量重保障测试方法坏会直接影响软件坏进行软件测试找出中错误足加改进高效系统
    软件应角度进行测试分析样找出中错误方测试时间找设计系统关员者分析员开发软件时候开发员已形成思维定势测试时候始终受种思想束缚难找出中错误设计关员分析员容易找出错误
    程序调试程中定耐心仔细细微错误会导致整功实现导致浪费时间修改应方面加注意:
    1>语法错误
    语法错误常碰错误例命令拼写错误传递函数参数正确产生错误语法错误导致继续编写代码
    2>逻辑错误
    逻辑错误通常潜难检测键入错误程序逻辑流程引起逻辑错误会成功运行产生结果错例应符号较数值符号时返回正确结果
    3>运行时错误
    运行时错误执行程中指令试图执行动作导致必须纠正运行时产生错误样保证软件运行性
    游戏开发程中采种效措施进行测试保证软件质量游戏进行边界处旋转方块翻转越界等方面测试极保证软件质量出错率系统中存着错误缺陷游戏必须反复运行测试量bug减少
    52 游戏代码算法测试
    1>写get()方法时需返回值程序中没写return语句程序编译时出现错误解决方法方法中加入return语句返回相应容
    2>机函数产生方块时没方块传入参数编译通解决方法根方块构造传入相应参数
    3>写T字形方块方格默认位置时控制方块位置变量i初始化0运行结果丁字形方块默认成竖形方块解决方法变量i初始化数值改1达设计效果
    4>运行程序时统计分数次消满行分数前分数会覆盖没累计解决方法程序中score改score+分数累加
    5>算法流程错误集中检测消方块通关分数累加进行处理否升级判定方面学讨参考资料终解决
    53 游戏界面菜单选项功测试
    1>游戏菜单测试
    ①点击游戏à新游戏
    输出:游戏重置
    结果:正常
    ②点击游戏à退出
    输出:游戏结束
    结果:正常
    ③点击游戏à提高等级
    输出:等级提高级
    结果:正常
    ④点击游戏à降低等级
    输出:等级降低级
    结果:正常
    2>点击背景菜单测试
    ①点击背景à前景色à黑色
    输出:方块颜色变成黑色
    结果:正常
    ② 点击背景à背景色à黑色
    输出:背景颜色变成黑色
    结果:正常
    3>控制菜单测试
    ①点击控制à开始
    输出:开始游戏方块开始落
    结果:正常
    ②点击控制à暂停
    输出:暂停游戏方块停止落
    结果:正常
    ③点击控制à重新开始
    输出:重新开始新游戏
    结果:正常
    ④点击控制à停止
    输出:游戏停止
    结果:正常
    4>帮助菜单测试
    ①点击帮助à游戏帮助
    输出:弹出话框提示游戏规
    结果:正常

    图51 游戏帮助菜单运行截图
    ②点击帮助à关
    输出:弹出话框提示游戏软件版相关信息
    结果:正常

    图52 游戏关菜单运行截图
    54 键事件功测试
    1>方块移动测试
    游戏程中点击左右方键
    输出:方块正常移动会移出边界
    结果:正常
    2>方块旋转测试
    游戏程中点击方键
    输出:方块边界障碍物阻挡情况反转
    结果:正常
    55 方块堆砌消行测试
    1>方块堆砌测试
    方块落底面障碍物接触时
    输出:方块成功堆砌底部
    结果:正常
    2>游戏消行测试
    出现满行现象时
    输出:满行消方块次移
    结果:正常

    图 53 游戏结束状态截图
    3>游戏结束测试
    出现满屏现象时
    输出:弹出会话窗口提示Game Over图53示
    56 测试结果分析
    次系统测试游戏实现预设基功整体功够强创新方面做稍微逊色作开发第版游戏功界面设计等方面需进步完善
    6 结

    做毕业设计前Java相关开发停留理知识水次毕业设计明白纸终觉浅绝知事躬行道理缺乏实际软件开发验定通次毕业设计完成俄罗斯方块游戏全部开发务整开发程中遇问题方块绘制变形线程创建问题步控制满行判断消行处理高分数记录功实现终解决中较点体会总结:
    第熟悉俄罗斯方块相关功设计时常游戏载网站载单机版俄罗斯方块游戏研究中功实现界面设计思考查阅资料进行分析逐步设计反复修改证完成整游戏开发
    第二游戏设计程中采粗精设计模式测试原先设计游戏框架逐层测试添加具体实现代码逐步进行更细化测试设计程中常会遇难题会通反复思考测试然找出错误加改正进行步骤确保万失力减轻调试工作量
    第三毕业设计业作断学新鲜事物程设计初懂够圆满完成体会实践中断学重性走工作岗位具重教育意义通毕业设计创作Java门课程更深步解业路定基础
    参考文献

    [1](美) Paul HydeJava线程编程[M]北京:邮电出版社2003
    [2]Martin dejodeSymbian OS J2ME[M]北京:民邮电出版社200510
    [3]朱福喜 Java程序设计技巧开发实例[M]北京民邮电出版社20042
    [4]袁海燕 王文涛Java实程序设计100例[M]北京:民邮电出版社20052:51~96
    [5]高凌琴 陈青华俄罗斯方块游戏关键技术探讨[J]信息技术信息化讨2008年第二期
    [6]黄复贤俄罗斯方块游戏敏捷设计开发[J] 电脑编程技巧维护20054
    [7]艾克尔Java编程思想[M]北京:机械工业出版社20052
    [8](美) Paul HydeJava线程编程[M]北京:邮电出版社2003
    [9](美)Bill Venners深入Java虚拟机[M]北京:机械工业出版社2003963~98
    [10]闻怡洋J2ME MIDP 1020线设备编程指南[M]北京北京学出版社20045:393~420
    [11]赵东跃俄罗斯方块编程[J]电脑编程技巧维护1998年第六期
    [12]殷兆麟Java网络编程基础[M]北京:北方交通学出版社2004
    [13](美)John ZukowskiJava 2 入门精通[M]北京:电子工业出版社1999
    [14]宋波Java应开发教程[M]北京:电子工业出版社2002
    [15]托普雷J2ME技术手册[M]北京:中国电力出版社20046:259~312
    致 谢

    次毕业设计制作毕业文写作程中孙楠老师文写作程相关专业知识指导等方面予力支持帮助XX实训基实导师XX老师代码实现程中方面指导位学文详细设计流程图制作等帮助时四年教知识育成长河南财政法学计算机信息工程学院全体教师致衷心谢意
    学识限加时间仓促文中免错误改足处真诚欢迎位师长学提出宝贵意见会身作严律奋勇拼搏母校荣走出条属阳关道祝愿教师学愿身体健康工作利
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 8 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于Java的图书馆座位管理系统的设计与实现

    目前,如何利用计算机系统来对座位进行管理是解决占座问题的关键。该图书馆座位管理系统是基于Java架构,采用Eclipse开发工具,使用SSM等前端开源框架,以MySQL为后台数据库,Tomcat...

    3年前   
    1846    0

    基于JAVA WEB的考勤系统设计与实现

    基于 JAVA WEB 的考勤系统设计和实现Design and Implementation of Attendance System Based on JAVA WEB摘要科技的发展,带动...

    11个月前   
    364    0

    基于Java的网上购物系统的设计与实现

     XX 学 院 本科毕业论文(设计) 题 目 基于JAVA的网上购物 系统的设计与实现 院 系 计算机...

    5年前   
    2587    0

    基于WWW的协同式CAI软件的Java实现

    基于WWW的协同式CAI软件的Java实现基于WWW的协同式CAI软件的Java实现 发布时间: 2004-03-09 作者:作者:丁振凡 摘 要 本文介绍一个用J 实现的基于Web环境的协同...

    8年前   
    550    0

    基于java的宠物销售网站的设计与实现

    基于Java 的宠物销售网站的设计与实现Design and implementation of java-based pet sales website 日内容摘要本科设计《基于Java ...

    10个月前   
    233    0

    基于Java EE平台的公交车辆运行监控系统的设计与实现

    随着经济和城市化地高速发展,市民有多种的出行方式,其中最为重要的是公交车出行。城市公交车需求的数量在快速地增长,它每天会产生大量的实时运行数据急需计算机系统做及时的处理。由于公交车的实时情况需要...

    3年前   
    700    0

    基于Java的二手图书交易系统后台管理设计与实现

    普通本科毕业论文(2010 —2014年)题目:基于Java的二手图书交易系统后台管理--设计与实现Topic:Used books Java-based trading system adm...

    2年前   
    423    0

    论文基于JAVA的校园商铺平台的设计与实现

    物流的发展非常之快,在互联网购物变成了人民迈向美好生活重要的一步,在短时间内购买到或者订购到自己所需要的商品已经成为网上购物显著的需求。对于全校师生而言,相比较于在大型网站上购物所需要等待的物流...

    3年前   
    1023    0

    java毕业论文java程序设计

    XXXX学院XXXX毕业论文Java程序设计专业 计算机网路技术 学号XXXX 姓名 XXX 指导教师姓名 XXX 职称 单位 XXX 完成毕业设计(论文)的实践基地 XXX...

    6个月前   
    530    0

    毕业论文(设计)基于安卓的多功能时钟app设计与实现

    目 录摘 要 1ABSTRACT 2第1章 绪论 31.1 开发背景 31.2 研究现状 51.3 本文的主要工作 61.4 论文的组织结构 6第2章 安卓相关介绍 72.1 安卓系统...

    4年前   
    1073    0

    基于网络的蛋糕销售系统的设计与实现毕业论文

     毕 业 论 文(设 计) 20XX 届 计算机科学与技术 专业 班级 题 目基于网络的蛋糕销售系统的设计与实现 姓...

    5年前   
    2344    0

    基于LabVIEW的虚拟频谱仪的设计与实现毕业论文

    本科毕业论文(设计)题 目 基于LabVIEW的虚拟频谱仪的设计与实现 指导老师 职称 学生姓名 学号 ...

    4年前   
    769    0

    毕业论文:基于Web的办公自动化系统设计与实现

    基于Web的办公自动化系统设计的主要目的是利用现代的互联网技术,采用人机对话方式为办公人员之间搭建一个互动平台。实现无纸化办公和多部门间协同办公,数据存储安全可靠的要求,在降低办公成本的同时,也...

    5年前   
    1687    0

    基于PHP+MySql的学生选课系统的设计与实现毕业论文

    中文摘要 针对高等院校在校学生众多,使用传统的选课方式效率低下,并且课程安排,地点安排,学生选课等过程中非常容易出错,造成课程时间冲突或者地点冲突,同时,教务员对选课的统计也十分麻烦,所...

    3年前   
    940    0

    基于SpringBoot博客系统的设计与实现

     基于SpringBoot博客系统的设计与实现Design and implementation of bl...

    2年前   
    970    0

    基于node的微博的设计与实现

    基于node的微博的设计与实现design and implementation of microblog based on node 摘要千禧年后, Twitter开始进...

    10个月前   
    283    0

    毕业论文管理系统的设计与实现

    摘要毕业论文工作是高等学校本科培养阶段的一个重要环节。目前论文管理工作存在着许多问题,例如人工管理极为不便;学生对论文所要撰写的内容并不十分了解,与指导老师的沟通非常不便;老师的指导监督也很难...

    2年前   
    433    0

    基于MATLAB的ASK调制解调实现课程设计

    大学《通信原理》课程设计报告学 院 专 业 班 级 学 号 ...

    3年前   
    726    0

    基于opencv的车牌识别系统设计与实现

     基于opencv的车牌识别系统设计与实现 ...

    2年前   
    746    0

    基于web学生成绩管理系统设计与实现

    随着计算机技术在各行各业的广泛应用,将计算机技术应用到学校中去,将大大提高学校管理的效率。学生成绩管理系统将在提高学校管理效率中发挥重要作用。

    3年前   
    944    0

    文档贡献者

    文***享

    贡献于2020-12-16

    下载需要 8 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档