开题报告
计算机科学与技术
基于JAVA的俄罗斯方块游戏设计与实现
一、综述本课题国内外研究动态,说明选题的依据和意义
本课题国内外动态:
学校现已开设的课程有C语言、VB、C++,自己本身自学了Java,就目前了解,可用Jave,VB 和C++编写俄罗斯方块程序。
(1)VB的优点
VB是完全中文化的环境使用,语句生成器和快速提示帮助使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。Internet应用程序的开发功能更加强大和容易,支持动态HTML技术的应用程序。应用程序安装向导能帮助用户自动生成具有一定功能的应用程序,加快了程序的开发速度。
(2)C++的优点
C++是对C语言的扩充,扩充的绝大部分来自著名语言中的最佳特性:从SIMULA 67中吸取了类,从ALGOL 68中吸取了运算符一名多用、引用和在分程序中任何地方说明变量,综合了Ada的类属和Clu的模块特点,从BCPL中吸取异常处理,从BCPL中吸取了用//表示注释。
(3)Java的优点
Java是定义位于网络计算的计算机语言,它几乎所有的特点也是围绕着这一中心展开的并为之服务的,这些特点使得Java语言特别适全于用来开发网络上的应用程序;另外,作为一种面世较晚的语言,Java也集中体现和充分利用了当代软件技术新成果,如面向对象、多线程等,这些也都在它的特点中有所反映。
1.开台无关性
如前所述,Java语言独特的运行机制使得它具有良好的二进制级的可移植性,利用Java,开发人员可以编写出与具体平台无关、普遍适用的应用程序,大大降低了开发、维护和管理的开销。
2.面向对象
Java是面向对象的编程语言。面向对象技术较好地适应了当今软件开发过程中新出现的种种传统面向过程语言所不能处理的问题,包括软件开发的规模扩大、升级加快、维护量增大经及开发分工日趋细化、
专业化和标准化等,是一种迅速成熟、推广的软件开发方法。面向对象技术的核心
是以更接近人类思维的方式建立计算机逻辑模型,它利用类和对象的机制将数据与其上的操作封装在一起,并通过统一的接口与外界交互,使反映现实世界实体的各个类在程序中能够独立、自治、继承;这种方法非常有利于提高程序的可维护性和可重用性,大大提高了开发效率和程序的可管理性,使得面向过程语言难于操纵的大规模软件可以很方便的创建、使用和维护。
3.安全稳定
对网络上应用程序的另一个需求是较高的安全可靠性。用户通过网络获取并在本地运行的应用程序必须是可依赖的,不会充当病毒或其他恶意操作的传播者而攻击用户本地的资源;同时它还应该是稳定的,轻易不会产生死机等错误,使得用户乐于使用。
4.支持多线程
多线程是当今软件技术的又一重要成果,已成功应用在操作系统、应用开发等多个领域。多程序技术允许同一个程序有两个执行线索,即同时做两件事情,满足了一些复杂软件的需求。Java
不但内置多线程功能,而且提供语言级的多线程支持,即定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。
5.简单易学
如前所述,衍生自C++的Java语言,出于安全稳定性的考虑,去除了C++中不容不得易理解和掌握的部分,如最典型的指针操作等,降低了学习的难度;同时 Java还有一个特点就是它的基本语法部分与C语言几乎一模一样。这样,无论是学过Java再学C,还是已经掌握了C语言再业学Java,都会感到易于入门。
选题的依据和意义:
俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。究其历史,俄罗斯方块最早还是出现在 PC 机上,而中国的用户都是通过红白机了解、喜欢上它的。现在远航游戏中心又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在 “远航游戏中心俄罗斯方块”中,更有一些远航游戏中心网络游戏所独有的魅力――有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。有研究者发现玩俄罗斯方块游戏有助于防止创伤后应激障碍的发生,可能是这个游戏能够对大脑储存视觉记忆的功能产生干扰,从而保护病人免受创伤后应激反应的影
响。在了解自己对各个语言编程能力了解后,经过再三比较了三种语言后,决定采用Java语言编写俄罗斯方块。
二、研究的基本内容,拟解决的主要问题:
研究的基本内容:
1.学习java的多线程知识。
2.学习游戏编程算法实现。
3.学习java画图函数知识。
拟解决的主要问题:
1.游戏中动态控制方块。
2.游戏中方块变形。
3.游戏中满行消除。
三、研究步骤、方法及措施:
研究步骤:1.需求分析:对系统整体进行分析;
2.总体设计:对系统进行架构,包括系统的模块设计等等;
3.详细设计:界面设计,解决该游戏系统中核心技术问题等等;
4.编码阶段:基于java的编码实现;
5.软件测试:对系统进行测试;
6.撰写论文。
方法、措施:
1. 充分利用好图书馆和网络资源,尽可能多地查有关资料;
2. 虚心学习、仔细阅读资料、认真思考、多投入精力;
3. 指导教师与学生勤沟通,对学生严格要求,耐心指导解答问题;
4. 定期向指导教师汇报论文书写情况,指导教师认真检查;
5. 精心设计,反复修改,减少错误,提高毕业论文水平。
学习编程的单机游戏参考文献
[1]赵强,乔新亮.J2EE应用开发[M].北京:电子工业出版社.2003.
[2]张海藩.软件工程导论.清华大学出版社, 2008.2
[3]李尊朝,苏军. Java语言程序设计.中国铁道出版社,2006.1
[4] Harvey M. Deitel .j ava how to program. Pearson Education ,2001.8
[5] 陈东,编程常用设计模式.电子工业出版,2005.10
[6](美)Thomas Van de Velde,Bruce Snyder. Spring Framework[M].清华大学出版社,2009.7
[7] 邱郁惠,系统分析师UML实务手册.机械工业出版社,2008.04
[8] 王鹏,何昀峰.Java Swing图形界面开发与案例详解.清华大学出版社,2008.12
[9] Jonathan S. Harbour.Java 5 游戏编程.机械工业出版社,2007.01
[10] 邱哲,马斗.Struts设计开发大全[M].清华大学出版社,2006.2
[11] 吴吉义,王中友.程序员突击:MySQL原理与Web系统开发[M].清华大学出版社,2009.8
[12] 梁冰,陈丹丹,苏宇.SQL语言参考大全[M].人民邮电出版社,2008.10
[13] 吴超.从Java走向Java EE[M].人民邮电出版社,2009.2
[14] 陈韵.Java程序设计项目化教程[M].西安电子科技大学出版社,2009.1
[15] 许峰,周慧英. Java Web整合开发全程指南[M].电子工业出版社,2009.4
[16] Erik Hatcher, Steve Loughran. Java Development whit Ant[M]. Manning Publications,2008.3
[17] Chao Wellie, Kaljuve Jurgen. Core Java Tools:Programming with Ant,JUnit and Cactus [M].Pearson Education,2004.10