Mophun & J2ME 的游戏开发之旅(二)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

CASE STUDY:Mophun版贪吃蛇 for 索尼爱立信 T610(中国称为T618)

本CASE 抛弃Mophun附带的Snake版本,作者以A to Z的方式进行整个CASE。

Title:MyMSnake

Version: 0.01

采用语言: C

设计概要:

在这个版本中,只体现游戏的逻辑,强调可玩性,忽略菜单设计,最高分存档,游戏进度存储读取等。整个游戏类似或者模仿Nokia8250上的贪吃蛇版本,本文只供学习参考,并没有侵犯版权的意图。游戏的基本流程,一只小Snake,特别好吃,在屏幕上游走寻找食物,找到得分并长度增长。一段时间之后,小Snake的长度会增加,她不小心碰到墙壁跟自己的身体Game Over。

详细设计:

(1)、游戏中的基本数据结构:

小Snake可以用一个只能增长不能减少的链表表示,链表的存储结构如下:

D(R)->C(R)->B(R)->A(R)

括号中表示小Snake身体的运动方向,->表示链表指向,现在链表的头snakeHeader = A, 尾:snakeTailer = D

小Snake的运动规律分析:L 左 R右 U上 D下

在T(i)时刻,

A(U)B(L)

E(R)D(R)C(U)

在T(i+1)时刻,

E(U)

A(U)B(L)

D(R)C(U)

这样可以找到规律,其实完全可以用最后一个小Snake的节点的变换,达到小Snake按照特定规律移动的假象,这样算法的效率会很高。

小Snake吃到好吃的怎么办?

这只贪吃的Snake,吃到食物后,只需在链表的尾部在加格节点。OK。

整个地图用一个二位数组background[20][16],20,16取值是根据SE T618的屏幕大小:128 * 160 pixels * piexels 和8 * 8 的小Snake身体确定的, 你会发现这对游戏的编程工作有很大的帮助。我们可以这样简化整个游戏的逻辑:

A 小Snake移动前把在地图上的映像清除

B 小Snake移动后重新在地图上的映像自己的映像

C 小Snake移动后在地图上某点有两个自己的映像,GameOver.

今天就写到这里。接下来我会按照这个思想写源代码,这个CASE也是我的新项目,本人做过俄罗斯方块(J2SE J2ME) , 弹球(J2ME Mophun), 坦克大战(J2ME J2SE), 小飞机及其地图编辑器(J2ME J2SE),网络五子棋(J2SE),等一系列游戏.接下来会尝试rpg和3D的开发.当然,那都是这个CASE OK之后的事情了,这个CASE纯粹是为了写文章,而做的,放心我会很认真..我的email: gowithfox@163.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航