• 基于Java ME的俄罗斯方块游戏免费LW+源代码


    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) {
    // 绘制下落时的阴影

  • 相关阅读:
    MATLAB算法实战应用案例精讲-【图像处理】SLAM技术详解
    liunx docker 安装 nginx:stable-alpine 后报500错误
    CVE-2015-5254漏洞复现
    快速排序(排序中篇)
    tk店铺申诉时间过了或者2次申诉都失败要怎么继续申诉
    抽象轻松c语言
    关于排序算法
    android可见即可说实现方案
    Spring源码:Spring 如何解决 Bean 的循环依赖
    HJ3 明明的随机数
  • 原文地址:https://blog.csdn.net/bwwork/article/details/126895963