程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2me開發心得-數組的利用

J2me開發心得-數組的利用

編輯: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
…..

我們優雅地把輿圖相干的東西都很好地表現在一個數組裡,想像一下假如不應用三維數組將會是什麼樣的狀態。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved