基于java的俄罗斯方块论文.doc
- 文档编号:235971
- 上传时间:2022-10-07
- 格式:DOC
- 页数:22
- 大小:125KB
基于java的俄罗斯方块论文.doc
《基于java的俄罗斯方块论文.doc》由会员分享,可在线阅读,更多相关《基于java的俄罗斯方块论文.doc(22页珍藏版)》请在冰豆网上搜索。
第一章绪论
1.1游戏的历史
游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。
1.1.1从头谈起
真正的电子游戏机产生于20世纪70年代。
1971年,麻省理工学院的学生NolanBushnell设计了世界上的第一个业务用游戏机(俗名街机),叫做《电脑空间》。
这台游戏机用一台黑白电视机作为显示屏,用一个控制柄作为操纵器,不过由于市场因素这款游戏以失败告终。
但是最后他在电子游戏的发展上取得了非凡的成就。
上面介绍的是专用机游戏的历史,而最早的电脑游戏可以追溯到1972年,一个叫Crowther的工程师用当时最流行的主机――DEC公司的PDP-10编写一段简单的FORTRAN程序。
在这个程序里,Crowther设计了一张地图,地图上不规则的分布着陷阱,游戏者必须寻找路径避开陷阱。
这个程序被公认为是最早的电脑游戏程序。
1989年,BroderBund公司的设计师乔丹.麦克纳根据阿拉伯民族的古老传说《一千零一夜》在Apple平台上制作了一部动作冒险相结合的电脑游戏――波斯王子。
这个游戏获得了第一作,它代表了当时电脑技术的最高水平。
1986年,任天堂公司发售了一款真正的游戏巨作――超级马里奥。
20世纪80年代IBMPC兼容机的出现打破了Apple公司的垄断地位。
到了20世纪90年代,游戏业才真正成熟起来,成为了一种产业。
由于PC机价格非常低而且硬件速度越来越快,游戏逐渐成为人们生活中不可缺少的一部分。
游戏产业也逐渐发展成熟。
1.1.2图形硬件的革命
图形硬件的飞速发展是近些年来的事情,部分原因是来自工业方面的压力,例如在军事和医疗方面对于实时图形的需求很强烈,而交互娱乐产业也极大的推动了图形硬件的发展。
技术上的因素同样也推动着图形硬件的发展,许多图形算法可以很容易地表达为并行方式,这样硬件执行的效率变得很高。
摩乐定律也起了作用,越来越多的晶体管可以集成到一块单独的芯片上。
在所谓的GPU(图形处理器)概念出现以前,特殊的图形硬件只出现在诸如SGI和E&S系统里面,这些硬件价格太昂贵,不过这些公司提供了第一代基于硬件的顶点变换和纹理映射的解决方案。
1.2游戏的意义与内涵
游戏这个名称一直就存在于每个人的日常生活中,如猜拳游戏、猜谜游戏、大地游戏、球类游戏等,林林总总,不胜枚举,甚至于有些流行歌曲把人生也比喻为游戏,好比“一场游戏一场梦”。
因此,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色。
1.2.1游戏的组成要素
“游戏”,最简单的定义,就是一种供人们娱乐休闲的快乐元素。
从更专业的角度形容,“游戏”是具有特定行为模式、规则条件、身心娱乐及输赢的一种行为表现。
这种行为表现具备以下4个要素。
行为模式:
“游戏”最简单的要素就是游戏有特定的流程模式,这种流程模式贯穿于整个游戏的行为,用户必须依照它的模式流程来执行。
倘若一种游戏没有了特定的行为模式,那么就没有执行的行为;在没有执行的行为之后,这个游戏也玩不下去了。
举个例子来说,如果猜拳游戏没有了剪刀、石头、布等行为模式,那么这还能叫做“猜拳游戏”吗?
所以不管游戏的流程有多么复杂还是多么简单,一定要有特定的行为模式。
条件规则:
当游戏有了一定的行为模式后,接着就必须制定出一系列的条件规则。
简单来说,这些游戏的条件规则就是大家必须去遵守的游戏行为守则,只要是大家一致以为的游戏行为,在游戏中,玩家就必须遵守它,如果不遵守这种游戏行为,那么就失去了公平性。
如同一种简单的球赛,打球的英文解释可以用PLAYGAME来加以说明,按照英文字面上的解释,它就是执行游戏的行为,而球赛必须有一定的条件规则,并且参与者都要必须去遵守它,不能遵守它就叫作“犯规”。
所以不管是什么游戏,它都会具备一组规则条件,在游戏进行的时候才会有足够的公平性。
娱乐身心:
一种游戏所带来的娱乐性,关键就在于为玩家所带来的刺激感,这也是游戏的精华所在。
简单来说,不管是很多人玩的游戏,还是一个人玩的单机游戏,游戏本身就会存在它的娱乐和刺激性,使得玩家们想要去玩它。
输赢:
其实针对游戏而言,输赢是所有游戏的最终目的。
一个没有输赢的游戏,也就没有了它存在的意义,如同我们常常接触到的猜拳游戏,说穿了最终目的就是为了分出胜负而己。
一般而言,游戏又可以分为动态和静态两种形态。
动态的游戏必须配合肢体动作,如猜拳游戏;而静态游戏则是较偏向思考的行为,如同纸上游戏。
然而不管是动态或是静态游戏,只要具备上述4项组成要素,都可以将它称为“游戏”。
第二章可行性研究
2.1设计目的
综合运用在校期间所学理论知识和技能,设计开发俄罗斯方块,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高工程实践能力,为将来实际工作打下坚实的基础。
2.2可行性研究前提
基本需求:
系统开发的总体任务是实现游戏的可操作性、美观性、及时性。
开发过程遵循软件工程规范,可采用结构化或面向对象分析设计方法。
主要实现windows的GUI程序开发,对游戏中的图形图像进行键盘控制。
游戏者可以通过上下左右键来对游戏进行操作。
主要开发目标:
采用结构化设计方法,开发出一个可操作性、美观性、及时性的游戏,实现windows的GUI程序开发,并通过此次软件开发过程全面提高自身的综合素质。
条件假定和限制:
由于本软件目前是我的初次版本,可能还存在一些问题。
如果该软件提高版本,本软件需要根据游戏者的要求进行进一步的修改。
可行性研究所采用的方法和步骤:
通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。
利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。
评价尺度:
由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到俄罗斯游戏的一般功能即可。
2.3可行性分析
管理可行性:
该游戏软件为首次开发,目的只为提高工作自身素质和检查自学Java的效果,用Java3.0软件编写后在Applet管理器中运行简单明了,所有功能均根据基本需求所做。
便于管理,所以在这方面是可以实现的。
经济可行性:
由于本游戏的主要背景是毕业课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行JAVA3.0软件的电脑便可,所以不用考虑到经济问题。
技术可行性:
可用与本游戏的编程语言有VB,Java,Delphi等,考虑到用于编写程序的困难度,和对语言的了解程度,选择JAVA作为编程语言。
需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作。
社会可行性:
本游戏的开发作为毕业课程设计以巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所用,无须考虑有可能造成的社会影响,不用考虑到法律、版权等的社会因素,所以在这方面是完全可行的。
2.4结论意见
综上所述,本游戏软件的技术成熟、完备。
各方面均无重大问题,因此本游戏软件可开始着手编写。
第三章需求分析
3.1引言
对软件需求完全理解对于软件开发工作的成功是至关重要的,需求说明的任务是发现、规范的过程,有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、维护人员、管理人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。
3.2游戏需求
随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关,设置三关,每关方块下落的速度不同,若在游戏中各形状填满了给定区域,为输者。
游戏功能要求如下:
游戏界面需求:
良好的用户界面,有关数显示和分数显示。
让方块在一定的区域内运动和变形,该区域用一种颜色表明,既用一种颜色作为背景,最好设为黑色。
还需用另一种颜色把黑色围起来,宽度适中,要实现美感。
游戏形状(方块)需求:
良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。
键盘处理事件:
方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。
显示需求:
当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。
当达到一定的分数时过关。
设置三关,每关方块下落的速度不同。
3.3软硬件需求
操作系统
Windows98/me/2000/XP/2003
内存容量
64MB
显卡要求
8M
声卡要求
支持DirectX8.0音效卡
交互工具
键盘/鼠标
CPU
奔腾133以上
光驱
8倍速以上
硬盘空间
400MB
显示器
VGA以上显示器
开发软件
Java可视化编程3.0以上版本
3.4接口控制
本软件需求通过键盘进行操作,在Windows的操作系统下,利用键盘的上、下、左、右键对方块进行移动变形,要使用键盘的接口事件。
3.5方案论证
学校现已开设的课程有C语言、VB、C++,自己本身自学了Java,就目前了解,可用Jave,VB和C++编写俄罗斯方块程序。
3.5.1VB的优点
VB是完全中文化的环境使用,语句生成器和快速提示帮助使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。
Internet应用程序的开发功能更加强大和容易,支持动态HTML技术的应用程序。
种类繁多,功能强大的多媒体控件,能帮助用户在较短的时间内用较少的语句编写出图文声像并茂的多媒体程序。
能对多种数据库进行读写操作。
它所提供的可视化数据管理器能帮助用户构造多种类型的数据库。
用户自定义类型可以作为参数或作为公共属性和方法的返回值,函数可以返回数组变量,动态数组可以赋值,文件系统对象,按名调用,增强创建对象函数和StrConv函数。
应用程序安装向导能帮助用户自动生成具有一定功能的应用程序,加快了程序的开发速度。
3.5.2C++的优点
C++是对C语言的扩充,扩充的绝大部分来自著名语言中的最佳特性:
从SIMULA67中吸取了类,从ALGOL68中吸取了运算符一名多用、引用和在分程序中任何地方说明变量,综合了Ada的类属和Clu的模块特点,从BCPL中吸取异常处理,从BCPL中吸取了用//表示注释。
C++保持了C的紧凑、灵活、高效和易移植强的优点,它对数据抽象的支持主要在于类概念和机制,对面向对象风范的支持主要通过虚拟函数。
C++既有数据抽象和面向对象能力,语言运行性能高多,加上C语言的普及,而从C至C++的过渡较为平滑,以及C++与C的兼容程度可使数据巨大的C程序能方便地在C++环境中重用。
尽管C++当初的设计本意是帮助管理大型程序,但其用途并不仅限于此。
C++的面向对象的特性可有效地用于实际的程序设计工作。
C++常常用于设计编辑器、数据库、个人文件系统以及通讯程序等。
而且,由于C++共享C的效率,所以用C++可以构成很多高性能的系统软件。
3.5.3Java的优点
Java是定义位于网络计算的计算机语言,它几乎所有的特点也是围绕着这一中心展开的并为之服务的,这些特点使得Java语言特别适全于用来开发网络上的应用程序;另外,作为一种面世较晚的语言,Java也集中体现和充分利用了若于当代软件技术新成果,如面向对象、多线程等,这些也都在它的特点中有所反映。
3.5.3.1开台无关性
如前所述,Java语言独特的运行机制使得它具有良好的二进制级的可移
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 俄罗斯方块 论文