J2me开发心得-数组的使用

其实不算是我自己写的吧,是朋友们一起看一起学起的 由于文化比较低 提高比较困难 只能在技巧上面多做工夫。 其实对数组的应用 我也不是很好 尤其是在面对多维数组的时候通常都会晕忽忽的 但只要拿笔一画就好了 写出来 看一下 就不会那么难过 下面是个举例吧 半摘半写 呵呵 希望对大家有帮助。

在游戏逻辑类里有几十行的变量定义也不足为奇。特别对于j2me来说更是如此,为了节省内存空间很多人舍弃了面向对象的特性把代码挤在一块。通常的情况是自已被自已的代码给淹死了!!所以在做结构设计时我很注重这一点,总是试图让代码节省一点..大多数人更习惯于一个属性一个变量,举个例子假设要表示一个人物的属性你可能会这么做:
int
生命;
int
魔法;
int
金钱;
int
攻击力;
int
防御力;
int
人物所在的x;
int
人物所在的y
int
人物所在的行
int
人物所在的列
int
人物当前的动作
int
人物当前行走的方向
…..

这只是一部份,相信要为这么多的变量命名是一件困难的事,特别是英文不好的同志。大家现在可能已经看出来了使用数组是最好的办法。至少有两个好处 1 所有的变量定义变成一行 int fairy[] ,变量被收拾得干净净甚至有点对象的味道,当要写该人物相关的代码时你会不假思索地打出 fair[] 2 具有扩展性。这是容易让人忽视的一点,当该人物有新的属性时你可以用 fair[x+1] 的格子来表示它一点也不受影响,当然前提是数据类型必须一致。

下面举例~

数组应用典型的一例是表示地图。假设我们要做一张rpg的地图大多数人的第一反应就是用二维数组表示map[][] 看起来似乎合情合理,但是问题来了可能我想让地图上的某些东西动起来。 这就必须加上几个变量 1 当前显示的图片,2 剩余多久切换图片。 这只是最普通的情况,可遇到的问题还更多。我们不可能给每个会动的地方都定义变量,那样太得不偿失了,为此三维数组出现了现在把地图的表示如下

int map[
][][属性] ;
map [][][0]
表示图片类别
map [][][1]
表示图片当前播放到第几张
map [][][2]
还剩多久切换图片
map [][][3]
该位置是否可以行走
map [][][4]
是否触发对话 0 表示否 其余表示对话的id
…..

我们优雅地把地图相关的东西都很好地表示在一个数组里,想像一下如果不使用三维数组将会是什么样的状况。

我希望大家不要走极端数组的维数太多也是一个很不好的事~~~~~~~ <script language="JavaScript" type="text/javascript"> function x () { return; } function ac_smilie(thesmile) { document.akocommentform.comment.value += " "+thesmile+" "; document.akocommentform.comment.focus(); } function validate(){ if (document.akocommentform.comment.value==''){ alert("请填写关于本话题的评论!"); } else if (document.akocommentform.acname.value==''){ alert("Validate name"); }else { document.akocommentform.action = 'index.php'; document.akocommentform.submit(); } } </script>
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值