下载 > 资源分类 >  开发技术 >  其它 > 一个MIDP俄罗斯方块游戏的设计和实现

一个MIDP俄罗斯方块游戏的设计和实现

2005-02-18 上传大小:0B

设计

1. 操作流程

本游戏的操作流程非常简单,用户启动MIDlet启动后,即进入游戏主画面,屏幕开始显示为欢迎画面。用户按下[开始]按钮后,就可以开始玩游戏了,当用户想暂停时,再次按一下[开始]按钮,游戏就暂停了,在暂停的情况下再按[开始]按钮,游戏继续运行。任何时候按 [退出]按钮,游戏MIDlet都会终止.

2. 算法

MIDP的游戏设计,本质上就是用一个线程或者定时
器产生重绘事件,用线程和用户输入改变游戏状态。这个游戏也不例外,启动MIDlet后,就立即生成一个重绘线程,该线程每隔50ms绘制一次屏幕。当然,重绘时有一些优化措施,并不是屏幕上所有的像素都需要重绘,而是有所选择,比如游戏画布上那些已经固定下来的下坠物(下坠物一共有7种,由4个小砖块组成,每种下坠物颜色固定,可以上下左右旋转)就不需重绘。游戏画布是一个CommandListener,可以接受用户键盘命令,控制下坠物的左移,右移,下移,旋转动作。整个游戏的流程控制体现在游戏画布对象的paint()方法里。paint()根据当前的游戏状态,绘制出当时的游戏画面。欢迎画面和Game Over画面的绘制相当简单。游戏暂停画面的绘制也相当容易,就是设立标志,让paint()执行的时候无需真正执行重绘动作。对于游戏处于运行状态的画面的绘制,则需要在下坠物的当前位置,绘制下坠物。在绘制下坠物之前,判断下坠物是否还能下坠,如果能下坠的话,就让它下落一格,再进行绘制,如果下坠物已无法下坠,则判断游戏是否处于Game Over状态,如果是处于Game Over状态的话,则设置游戏状态为Game over状态,这样画布在下一次重绘时就绘出Game Over的画面.如果游戏不是处于Game Over状态,则把下坠物固定下来,同时检查游戏画布上下坠物当前行下面的所有行,看是否需要进行行删除动作,如果需要行删除,则清除游戏地图上被删行的数据,再把被删行绘制成背景色。然后初始化一个新的下坠物,绘制这个新的下坠物

3. 数据结构

本游戏涉及到以下几种数据结构。

游戏区域

游戏区域为手机或者PDA屏幕的一部分,该区域为正方形,边长一定能被16整除(因为俄罗斯游戏区域刚好为16个小砖块长,16个小砖块宽的方形)。无论在水平方向还是垂直方向,该区域都要处于屏幕的居中位置。游戏区域在水平方向上分为2部分,一部分为12个小砖块宽,用来显示游戏容器,另一部分为4个小砖块宽,用来显示下一个下坠物和分数。

小砖块

小砖块是下坠物和游戏容器的组成部分。表现为一个正方形,边长为游戏区域边长的1/16。每个小砖块在绘制的时候, 4边会留出1个象素宽,绘制成白色或者灰色,这样砖块之间才有间隙。每种小砖块也有id,分别为1到8。我们可以用一个颜色数组(程序里叫 BRICK_COLORS)存储这8种颜色。若某种小砖块的id为3,那么该小砖的颜色为BRICK_COLORS[3-1].

下坠物

下坠物本质上为16个小砖块组成的正方形。下坠物一共有7种,比如有"田"字形的,"L"字形的等等。每种下坠物一共有4种旋转变化。每种下坠物都有一个id,分别为1到7。因为对于一种下坠物来说,其颜色是固定的。我们同样可以用该种颜色在BRICK_COLORS数组中的下标值加上 1,作为下坠物的id.

例如"L"形下坠物的id为3,
...展开收缩
综合评分:4(5位用户评分)
开通VIP C币充值 立即下载

评论共有1条

linzhichu2012-03-29 22:01:57
用java实现的,均为代码,没有文字说明,无基础者慎下!

登录后才能评论

 

相关推荐

wxh 一个俄罗斯方块游戏源代码 立即下载
积分/C币:3
C++一个全屏幕的俄罗斯方块的游戏 立即下载
积分/C币:3
用java写的一个俄罗斯方块的游戏 立即下载
积分/C币:3
在STM32F103上编写一个俄罗斯方块游戏 立即下载
积分/C币:10
俄罗斯方块游戏设计(Java版).doc 立即下载
积分/C币:3
用java编程设计的俄罗斯方块小游戏 含有源代码 立即下载
积分/C币:3
俄罗斯方块游戏设计(Java版) 立即下载
积分/C币:3
Java 俄罗斯方块包含设计UML(包含3种游戏模式)(遵循MVC模式开发) 立即下载
积分/C币:5
VB俄罗斯方块游戏课程设计 立即下载
积分/C币:3
MFC编写的俄罗斯方块小游戏(含设计报告) 立即下载
积分/C币:3
俄罗斯方块游戏设计 立即下载
积分/C币:0
俄罗斯方块的游戏设计 立即下载
积分/C币:3
俄罗斯方块游戏设计(C#版) 立即下载
积分/C币:3
Visual C++经典游戏程序设计\第5章 俄罗斯方块.zip 立即下载
积分/C币:3
传智播客_俄罗斯方块游戏07_图形设计与创建 立即下载
积分/C币:3
c# 设计游戏 贪吃蛇、俄罗斯方块等 立即下载
积分/C币:3
用js实现俄罗斯方块小游戏 立即下载
积分/C币:2
俄罗斯方块 游戏代码 C#实现 立即下载
积分/C币:3
FPGA驱动VGA实现俄罗斯方块游戏代码 立即下载
积分/C币:5
shell分步实现俄罗斯方块游戏 立即下载
积分/C币:5

热门专辑

VIP会员动态

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
扫码关注并点击右下角获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

一个MIDP俄罗斯方块游戏的设计和实现

会员到期时间: 剩余下载个数: 剩余C币:593 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
C币充值 开通VIP
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励5下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: