,在需要时再建立其副本。
C++和Java在面向对象这方面比VB要强,所以我排除了用VB做的可能性。但是C++为了与C语言兼容,其是包含了些面向过程的成分;Java除了C++中非面向过程的部分,其程序编写过程就是设计、实现类,定义其属性、行为的过程。还有Java特有的"沙箱"机制是其安全性的保障,同时它去除了C++中易造成的错误指针,增加了自动内存管理等措施,保证了Java程序运行的可靠性。
所以经过再三比较了三种语言后,决定采用Java语言编写俄罗斯方块。
第四章 概要设计
4.1 游戏设计分析
Java为纯面向对象(Object-Oriented,OO)的程序语言,它的诸多优点在此就不作论述了。从面向对象的观念出发,本程序可分为以下几个对象:
* 方块类型数据
* 程序运算逻辑
* 绘图
* 显示平台
分析对象的技巧在于它的重复利用及维护效率。试想,若要把设计出来的程序在不同的显示平台上执行,就要作大幅度的更动甚至重写,这样就失去了面向对象属性,所以在本程序分析时将不变与易变的因素分别做成对象,如方块类型数据及程序运算逻辑就是不变的项目,而绘图及显示平台会因为环境而有所不同属于易变的项目。
1.方块类型数据
方块类型虽然运送不同,但状态与行为都是相同的,如下表所示。
方块的状态与行为
对 象 要 素 说 明 状态 记录方块形状的变量 行为 方块根据x=y;y=2-x进行旋转
2.程序运逻辑
程序中逻辑运算通常只作数值的运算及分析,如方块移动时阻碍判断、方块满行判断、删除满行、方块移动、定时器、事件响应等。
3.绘图
绘图会因为显示平的不同而有所不同,例如在单机与手机上的显示环境就不相同,或显示效果会有所不同,例如方块的样式作修正时,即可以产生出不同的显示效果。
4.显示平台
"可移植性高"是Java的属性之一,Java的应用涉及许多领域,如手机、单机程序及浏览器等,不同的平台对于它的设定不尽相同,若将显示平台独立为一个类,将有助于主程序的完整性及移植程序的快速性。
4.2 注意事项
游戏在设计时除了将程序切割