`
stephen830
  • 浏览: 3010513 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

以前用J2ME(WTK2.1)平台写的手机小游戏俄罗斯方块

    博客分类:
  • java
阅读更多
这个小游戏完全采用J2ME的WTK2.1平台开发,功能仿俄罗斯方块游戏。(由于是第一次写手机游戏,有些地方处理的不是很好,大家见谅)

现有功能列表:
1. 下一方块提示;
2. 消行计分;
3. 下降加速;
4. 中途暂停/继续;
5. 级别(共分5级)不同,速度/计分不同。

* 难度级别,级别从1级 - 5级
*
* 级别与游戏速度的对应关系
* 级别 速度
* Level1 方块/2
* Level2 方块
* Level3 方块*1.5
* Level4 方块*2
* Level5 方块*2.5
*
* 级别与得分的对应关系
* 级别 得分
* Level-1 0-3000
* Level-2 3000-8000
* Level-3 8000-16000
* Level-4 16000-40000
* Level-5 >40000
*
* 级别与消行得分的对应关系
* Level1 100
* Level2 200
* Level3 500
* Level4 1000
* Level5 2000


由于这个小游戏写得比较早,在索爱T628上测试过,运行效果还不错,坐车时可以打发些无聊的时间。

下面是当时写这个小游戏的一些构思,具体的源代码在附件的zip包中,感兴趣的朋友可以看看.

/**
 * 主程序.
 * @author Stephen
 * @version v0.9.0
 * <pre>
 * 基本设计思路:
 * 
 * 把整个可操作的显示屏幕看作1个矩阵(matrix),矩阵采用1个整型二维数组来表示。
 * 矩阵是由若干个方格组成,矩阵的最小组成单位是方格(grid),方格是1个正方形。
 * 二维数组中每个元素的值只有两种选择:1或者0。
 * 
 * 方格填充的内容有2种:填充1个方块(box)或者空白。方格的填充规则:必须根据方
 * 块在对应的二维数组中的值进行填充。如果对应的值为1,则填充1个方块;如果对应的
 * 值为0,则空白。
 * 
 * 名词定义:方块显示矩阵(displayMatrix)。说明:方块显示矩阵是用于输出到屏幕完成
 * 显示的矩阵。在往屏幕上绘画的主要依据就是方块显示矩阵。
 * displayMatrix矩阵中坐标和长度的关系:
 * 假设矩阵的宽度=6,高度=4,每个矩阵方格的边长a=10,则:
 * 矩阵的坐标为:
 * [0][0],[0][1],[0][2],[0][3],[0][4],[0][5]
 * [1][0],[1][1],[1][2],[1][3],[1][4],[1][5]
 * [2][0],[2][1],[2][2],[2][3],[2][4],[2][5]
 * [3][0],[3][1],[3][2],[3][3],[3][4],[3][5]
 * 如果在矩阵内有个方块,方块左上角相对于矩阵左上角的长度为:水平方向x=25,垂直方向y=30,则:
 * 对应的矩阵坐标计算方法:
 * 水平坐标= x%a>0?x/a:x/a-1 =3
 * 垂直坐标= y%a>0?y/a:y/a-1 =2
 * 因此对应的矩阵坐标=[y][x] = [2][3]
 * 
 * 
 * 名词定义:方块(box)。说明:方块是用于往矩阵方格填充的东西。这里所谓的填充:就是
 * 往方格内画方块。方块是1个正方形。
 * 
 * 方块显示矩阵内的方块都是静态的,而在方块成为静态之前都是可活动的,称为
 * 活动方块组(activeBox)。
 * 
 * 方块活动矩阵内的活动方块组的类型有以下5种:(每个活动方块组实际上都是由4个方块组成的)
 * 在实际编码中,采用矩阵(二维数组)来表示活动方块组。
 * <1>int[][]{{1,1},{1,1}}
 * 00
 * 00
 * 俗称"田字形"。
 * 它没有变形。
 * <2>int[][]{{1,0},{1,0},{1,0},{1,0}} 说明:因为必须是1个二维数组,所以在后面补0
 * 0
 * 0
 * 0
 * 0
 * 俗称"一字形"。它的变形有1种:
 * 0000
 * 
 * <3>int[][]{{0,1},{1,1},{1,0}}
 *  0
 * 00
 * 0
 * 
 * 它的变形有1种:
 * 00
 *  00
 * 
 * <4>int[][]{{0,1},{0,1},{1,1}}
 *  0
 *  0
 * 00
 * 
 * 它的变形有3种:
 *            00  000
 *     0      0     0
 *     000    0   
 * <5>int[][]{{0,1},{1,1},{0,1}}
 *  0
 * 00
 *  0
 * 
 * 它的变形有3种:
 *            0   000
 *      0     00   0
 *     000    0
 * 
 * 
 * 屏幕内活动方块组的活动有2种类型:变形(change)和移动(move)。
 * 
 * 方块组的移动可以分为:自由移动和手工移动。自由移动是指不需要人为干预的活动;手工移动是
 * 指必须通过人为干预才能完成的活动。
 * 
 * 方块组的移动中的自由移动有:
 * <1>垂直向下移动(moveDown):采用Timer、TimerTask定时执行,每次执行后方块垂直向下
 * 移动1个方格的5分之一的长度(方格是矩阵的最小单位)。
 *  
 * 方块组的移动中的手工移动有:
 * <1>水平向左移动(moveLeft)
 * <2>水平向右移动(moveRight)
 * <3>垂直向下快速移动(moveDownFast)
 * 
 * 方块组的变形活动必须通过手工来完成。即必须通过手工按键完成活动方块的变形操作。所谓的变形
 * 是指将活动方块组每次按顺时针方向旋转90度。
 * 
 * </pre>
 */



附录:附件中的压缩包包含2个文件:
      (1) ElsBox.java - 源代码
      (2) ElsBox.jar  - ElsBox.java生成的jar包,可以直接传到手机(支持java的手机)上运行。


-------------------------------------------------------------
分享知识 分享快乐, 希望文章能给需要的朋友带来小小的帮助。

另外,欢迎朋友转载,转载时请注明出处,谢谢!


6
1
分享到:
评论

相关推荐

    J2ME游戏开发中的WTK游戏框架

    "J2ME游戏开发中的WTK游戏框架" 指的是在Java Micro Edition(J2ME)平台上,使用Wireless Toolkit(WTK)进行游戏开发时所采用的一种特定的游戏开发框架。J2ME是Java的一个子集,用于开发和部署在移动设备、...

    j2me手机游戏——俄罗斯方块!

    本项目提供了一个基于J2ME的简单俄罗斯方块游戏实现。通过上述分析,我们可以了解到,在J2ME环境下,开发者可以利用Canvas类来实现游戏的绘制和动画效果,同时通过实现Runnable接口和使用Thread类来实现游戏的主循环...

    J2me 游戏《俄罗斯方块》

    《J2ME游戏:俄罗斯方块》是一款基于Java 2 Micro Edition(J2ME)平台开发的经典游戏。J2ME是Java技术的一个分支,主要用于移动设备、嵌入式设备等小型计算平台,提供了丰富的功能和良好的跨平台能力,使得开发者...

    j2me版俄罗斯方块

    在本项目中,我们探讨的是一个使用J2ME技术开发的“俄罗斯方块”游戏,这是一个在移动设备上非常受欢迎的经典游戏。 “俄罗斯方块”游戏的基本原理是,不同形状的方块会从屏幕顶部连续落下,玩家需要通过旋转和移动...

    俄罗斯方块J2ME下载

    因此,“俄罗斯方块J2ME下载”可能是指提供了一个可以在J2ME支持的设备上运行的俄罗斯方块游戏的下载服务。 【标签】:“俄罗斯方块” “俄罗斯方块”标签直接关联到游戏本身,表明这个话题与这款经典游戏有关。在...

    J2ME手机游戏俄罗斯方块

    这款手机上的俄罗斯方块游戏继承了原版游戏的核心玩法,同时针对手机屏幕和操作方式进行了优化。 游戏中的“分关卡”设计意味着玩家需要通过一关接一关的挑战,每一关可能有不同的难度设置,比如速度逐渐加快、要求...

    J2ME WTK2.2

    Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备设计,如手机、智能手表、电视盒等。它允许开发者编写能够在这些资源有限的设备上运行的应用程序。Wireless Toolkit (WTK) 是Sun ...

    J2ME WTK2.2 更新包

    J2ME,全称为Java 2 Platform, Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电、PDA等。J2ME为这些资源有限的设备提供了运行Java应用程序的能力,它通过简化API并优化内存...

    J2me 俄罗斯方块游戏 源程序 java

    《J2ME版俄罗斯方块游戏源码解析》 在移动设备尚未普及智能手机的时代,Java ME(J2ME)作为一款跨平台的开发环境,广泛应用于功能手机的游戏开发。其中,经典游戏“俄罗斯方块”因其简单易懂的规则和高度上瘾的...

    j2me手机游戏之俄罗斯方块

    本篇文章将深入探讨如何使用J2ME技术开发一款经典的手机游戏——俄罗斯方块。我们将从源代码分析、编译环境搭建到游戏功能实现进行详细介绍。 首先,让我们了解J2ME。J2ME是Java平台的一个子集,专门针对资源有限的...

    j2me俄罗斯方块

    《J2ME版俄罗斯方块:游戏开发与技术解析》 在移动通信技术飞速发展的今天,J2ME(Java 2 Micro Edition)作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑。本项目——"j2me俄罗斯方块...

    J2ME_WTK2.2配置(pdf)

    J2ME_WTK2.2配置,J2ME,WTK2.2,J2ME开发配置

    j2me 手机游戏入门开发--俄罗斯方块_5_使用LUA脚本写游戏

    在本文中,我们将深入探讨如何使用J2ME(Java 2 Micro Edition)和LUA脚本语言进行手机游戏开发,以实现一个经典的俄罗斯方块游戏。J2ME是一种轻量级的Java平台,广泛用于移动设备,如早期的智能手机和平板电脑。LUA...

    j2me俄罗斯方块-手机版

    《J2ME版俄罗斯方块:手机游戏开发的探索与实践》 J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,专为小型设备如移动电话、智能手表等设计,用于开发和运行移动应用程序。在这个标题为“j2me俄罗斯方块...

    俄罗斯方块源程序 j2me

    在移动设备普及的年代,J2ME(Java Micro Edition)作为一款跨平台的开发工具,广泛应用于手机游戏开发,其中包括经典游戏——俄罗斯方块。本篇文章将深入探讨如何使用J2ME技术实现这个深受玩家喜爱的游戏。 首先,...

    J2ME课程设计手机俄罗斯方块小游戏的开发.doc

    J2ME课程设计手机俄罗斯方块小游戏的开发.doc

    J2ME手机游戏实例之--俄罗斯方块

    在俄罗斯方块游戏中,开发者需要利用Canvas类来绘制游戏画面,自定义绘图方法实现方块的移动和旋转。 3. 游戏逻辑:核心的游戏逻辑包括方块的生成、下落、旋转、消除行以及得分计算。开发者需要编写对应的函数来...

    j2me-俄罗斯方块(源码)

    今天,我们有机会深入研究一个基于J2ME的俄罗斯方块游戏源码,这为我们提供了宝贵的教育资源,让我们一起探索这个经典游戏在移动环境下的实现细节。 首先,我们要了解J2ME的基本框架。J2ME主要由Configuration、...

    基于J2ME的俄罗斯方块手机游戏.doc

    基于J2ME的俄罗斯方块手机游戏.doc

Global site tag (gtag.js) - Google Analytics