站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题一个MIDP俄罗斯方块游戏的设计和实现 -2-汉土网络

一个MIDP俄罗斯方块游戏的设计和实现 -2-汉土网络

摘要: 一个MIDP俄罗斯方块游戏的设计和实现 -2-汉土网络
<tr> <td> <tr> <td colspan="3">IT技术资料馆|编程语言|java系列|J2ME资料|一个MIDP俄罗斯方块游戏的设计和实现 -2</td> </tr> <tr> <td height="38" colspan="3" align="center">

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

</td> </tr> <tr> <td colspan="3" align="center"></td> </tr> <tr> <td colspan="3" class="text">

设计

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状态,则把下坠物固定下来,同时检查游戏画布上下坠物当前行下面的所有行,看是否需要进行行删除动作,如果需要行删除,则清除游戏地图上被删行的数据,再把被删行绘制成背景色。然后初始化一个新的下坠物,绘制这个新的下坠物。paint方法的流程图如下所示:




</td> </tr> <tr>
↑返回目录
前一篇: 一个MIDP俄罗斯方块游戏的设计和实现 -1-汉土网络
后一篇: 一个MIDP俄罗斯方块游戏的设计和实现 -3-汉土网络