最近学习Java SE。一直想找个东西练手。  不过想来想去,还是经典的俄罗斯方块最好了。毕竟这个游戏要考虑的东西还是挺多的,综合性强。用来练练JavaSE还是挺不错的。好了,切入正题。
基本说明:
开发平台: MyEclipse 7.5
测试平台: Windows Server 2008  + Ubuntu Linux 9.04
运行界面如下:
程序使用方向键控制,向上键控制图形旋转。
这个程序采用类似于MVC的结构。以前我学过很长时间的VC++ MFC,深受其Document-View架构思想的影响。其实Document-View也是MVC的一种体现。
程序分成三个基本模块:
MyController。控制器,程序的核心。
MainFrm。主窗体,实现了UI的呈现。我偷了一下懒,使用了MyEclipse的可视化swing生成器,产生了一堆很不好看的代码,不过没什么影响。
MyModel。俄罗斯方块的抽象模型。主要是一个数组。
这个程序有一个关键的地方就是图形旋转时的坐标变换,为此我特地查了一下以前的解析几何的课本(呵呵,全忘了),其公式我已经写在程序的注释里面。位于MyController类的 transformCoords()方法
如果有什么疑问可以联系我。我会详细解答。
下载地址:
已编译的程序
源码