遊戲邏輯類常見幾十個變量:生命、魔法、金錢、攻擊、防禦、座標、狀態……命名困難,代碼雜亂,自我淹沒。
int[] fairy = new int[ATTR_COUNT];
// fairy[0] 生命, fairy[1] 魔法, fairy[2] 金錢...
// 新增屬性只需擴展數組,fairy[x+1] 即可,類型一致前提下零侵入。
優勢:
1. 變量定義歸一行,代碼乾淨。
2. 擴展性強,新屬性無需改動現有邏輯。
int[][] map = new int[ROW][COL]; // map[row][col] 存圖片索引
適用於固定地圖,但無法表達動態元素(動畫幀、切換間隔、可行走性、觸發事件)。
int[][][] map = new int[ROW][COL][ATTR];
// map[][][0] 圖片類別
// map[][][1] 當前播放幀
// map[][][2] 距離下一幀時間
// map[][][3] 是否可行走
// map[][][4] 對話觸發ID (0=無)
// ...
優雅地將地圖所有相關數據封裝在單一結構中,避免大量分散變量。若不用三維數組,代碼將極其混亂難維護。
數組不僅能節省內存,更能大幅提升代碼可讀性與擴展性。J2ME 受限環境下,善用數組是架構設計的關鍵技巧。