4.1系统解决方案
本系统在Windows XP的操作系统下,以Java Micro EditionWireless Toolkit 2.1为开发工具,用中文版UltraEdit做为代码编辑器而实现的。在KToolBar开发包的DefaultColorPhone模拟器下进行调试。
4.2系统总体结构
系统开发的主要任务是俄罗斯方块游戏在无线移动端的实现。本系统的主要实现功能模块分为:难度选择模块、方块处理模块、游戏规则模块。
4.2.1难度选择模块
用户在title屏按键数字键选择0-9种游戏难度,进入相对应游戏关卡。
4.2.1 方块处理模块
方块处理模块定义方块的7种状态,每种状态都是由四个小方块组合而成,如下:
4.2.1 游戏规则模块
游戏规则模块主要实现俄罗斯方块游戏基本规则。比如,积满一行后消减;能够快速直接的下落;记录游戏最高分;方块翻转;分数计算;随机生成方块,见下图:
5.2 难度选择模块
5.2.1 难度选择模块结构
ui包里包含以下类:
InfoBox.java 用于显示数字的信息框
TitleBox.java 显示title屏,包含当前高分提示选择一个难度
NextPieceBox.java 显示下一个激活方块
TetrisCanvas.java 处理程序的所有UI
DisplayBox.java 在屏幕上显示Box
其结构图如下:
在DisplayBox.java中方法paint()实现了title屏的显示,其代码如下:
public final void paint(Graphics g) {
g.setColor(this.bgColor);
g.fillRect(x, y, width, height); // box的背景
g.setColor(this.fgColor);
g.drawRect(x, y, width, height); // 边框
this.paintBoxContents(g);}
下面是TerisCanvas.java中绘制方块paintBlock()方法的实现代码:
private void paintBlock(int x, int y, int blockType, Graphics g) {
int blockX = this.boardX + (this.blockSize * x);
int blockY=this.boardY+(this.blockSize* (y – TetrisConstants.TOP_VISIBLE_ROW));
if(TetrisConstants.BLOCK_EMPTY != blockType) {
// 绘制下落时的阴影
基于Java ME的俄罗斯方块游戏免费LW+源代码
版权声明:本文为bwwork原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。