本系列記錄一個完整 J2ME 遊戲《華容道》從技術調研、需求分析、概要設計、詳細設計、編碼、測試、發布的全過程。採用瀑布模型、單人全棧角色,旨在展示受限環境下的軟件工程實踐。
javax.microedition.lcdui.game.Sprite 等遊戲增強 API)| 階段 | 工期 | 產出物 |
|---|---|---|
| 技術調研 | 2 天 | 可行性報告、關鍵技術驗證 Demo |
| 需求分析 | 0.5 天 | 需求規範書、數據字典 |
| 概要設計 | 0.5 天 | 模塊劃分圖、接口定義 |
| 詳細設計 | 2 天 | 類圖、時序圖、核心算法偽代碼 |
| 編碼 | 2 天 | 可運行 MIDlet Suite |
| 測試 | 2 天 | 測試報告、缺陷列表 |
| 發布準備 | 0.5 天 | OTA 部署文檔、簽名指南 |
| 總結 | 0.5 天 | 項目複盤文檔 |
javax.microedition.lcdui.game 提供 Sprite (動畫幀/翻轉/碰撞)、LayerManager (圖層管理)、TiledLayer (地圖瓦片) → 決定使用 MIDP 2.0drawImage、drawRegion (圖片區域繪製/翻轉)、fillRect、drawString 性能getGameAction() 在不同模擬器皮膚上對方向鍵/確認鍵的映射一致性Image.createImage("/res/board.png")、透明通道支持、大圖分塊加載j2me_wireless_toolkit_2_0.exe (需 Sun 會員登錄)C:\WTK2.0KToolbar → New Project: HelloWorld, MIDlet Class: Helloapps/HelloWorld/src/Hello.java:import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet {
private Display display;
public Hello() { display = Display.getDisplay(this); }
public void startApp() {
TextBox t = new TextBox("Hello", "Hello J2ME Game!", 256, 0);
display.setCurrent(t);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
下篇將進入需求分析:細化遊戲規則、操作邏輯、角色定義、界面流程、非功能性需求 (性能、兼容性、包大小),產出《需求規範書》與《數據字典》。