从发明最初到现在,俄罗斯方块已经历30年的改造,与此同时,电脑业、手机行业、电子游戏业也都发生了巨大变化,拥有华丽画面、震撼音效和丰富剧情的大型游戏包括网络游戏纷纷出现,开辟并占据了新的市场。近几年,随着Android系统和ios的风靡,基于无线网络移动端的游戏行业呈现前所未有的高速发展态势,数目繁多、类型各异的手机游戏似乎在一夜间出现在用户的屏幕上。身处这种机遇与挑战并存的环境背景中,如何发挥俄罗斯方块固有的优势,在日新月异的游戏行业占据有利地位,成为一个值得思考的命题。
本文中实现的俄罗斯方块游戏,对传统方块进行创新,发挥它固有优势的同时增强益智性与趣性,使用Java ME平台编写的程序,适用于时下流行的各式智能手机。考虑到俄罗斯方块的游戏特点,即玩家已经习惯使用键盘操作,故在本系统中,运行游戏时采用键盘手机充当模拟器,这样不仅操作顺手,更能为游戏者带来经典的“俄罗斯方块游戏氛围”。
2 开发环境
2.1 Java ME简介
Java ME是Java的微型版本,在Java家族中与Java SE和Java EE是并列的成员,这三个成员各自侧重于不同的应用范围,Java SE提供了Java基础类库,主要用于桌面应用程序,Java EE着眼于企业级应用,而Java ME则是为开发信息电子产品的嵌入式应用程序而设计的[1],由于其具备Java平台无关的特性,使之适用于大量不同种类的消费性电子产品。在实际应用中,Java ME在手机商用程序和娱乐应用程序方面都已经取得了巨大的成就。
Java ME平台由多种配置(Configuration)、简表(Profile)和可选包(Optional Package)组成[2]。Java ME的配置包含了虚拟机和基础类库。配置提供了最基础的类库集合,简表则绑定在某一种配置之上,补充在配置中没有包括的用户界面等功能,最终形成一个完整的程序运行支撑平台 [3]。
在配置和简表之外的可选包增强了Java ME对市场需求的适应能力。每个可选包是为某种特定技术而设计的,常见的可选包对Java ME的扩充包括多媒体、消息传递(短信等)、蓝牙技术、网络服务等。手机制造商对可选包可以有选择地支持,但要遵循一定规范。
使用Java ME开发专门应用在手机上的程序,是一种叫MIDlet的小应用程序,为了运行它,手机必须具备必要的软、硬件条件,本文设计的游戏就是这种类型的一款程序。同时,MIDlet是一种胖客户程序,它在离线状态下依旧可以运行。
相对于瘦客户模式,MIDlet在功能上有许多明显的提升:它相当于一个微型的数据库,支持本地数据存储;MIDlet支持由服务器引起的“Push”的方式,启动程序通过事件触发;MIDlet支持丰富的多媒体功能,手机软硬件支持的情况下,可以进行视频、音频的采集和播放;MIDlet下的网络数据传输可以通过多种方式,而不仅仅是HTTP[4,5],其中的一些优势,在设计中都得到了体现,比如本地数据的存储等。
利用Java可以真正达到程序只写一次,在任何平台都可以执行,这就是它“Write once, run anywhere”的特性。同时,Java语言对面向对象的良好支持,使得开发具有高效性。基于这样的优势,本系统开发平台首选Java ME(Java Micro Edition)。
2.2 Eclipse与Wireless Toolkit介绍
Eclipse是著名的跨平台自由集成开发环境(IDE),最初主要用于Java语言的开发,如果安装不同的插件,Eclipse就可以支持不同的计算机语言,比如C++和Python等。虽然Eclipse本身只是一个框架平台,但众多插件的支持使得Eclipse拥有相当的灵活性,这是其他功能固定的IDE软件很难具备的。因此,为数众多的软件开发商都将Eclipse作为框架而开发自己的IDE。由于本系统采用Java ME语言,故首选Eclipse开发环境。