作者:yinowl
2005年2月
幫助界面
幫助界面很簡單,把需要的文字排好寬度放在一個String數組裡,然後繪制在屏幕上,如果一屏放不下就增加按鍵響應來翻屏,其實只是重新畫出數組前面或後面的幾個值,源代碼如下:
在MiningCanvas.java中添加如下代碼
final String[] strGamehelp =new String[10];
public MiningCanvas(MiningMIDlet miningMIDlet){
...
strGamehelp[0]="此游戲為雙人對戰游戲";
strGamehelp[1]=",和經典的掃雷不同,這";
strGamehelp[2]="個游戲中,我們要挖出";
strGamehelp[3]="雷,挖錯雷則交換玩家.";
strGamehelp[4]="一共有52顆雷,256個格";
strGamehelp[5]="子,最先挖到27顆雷者";
strGamehelp[6]="獲勝.1.上,下,左,右分";
strGamehelp[7]="別為數字鍵2,8,4,6,挖";
strGamehelp[8]="雷為5;2.屏幕外框的顏";
strGamehelp[9]="色為當前下玩家;";
}
private void paintHelpScreen(Graphics g){
g.setColor(0x00FFFFFF);
g.fillRect(0,0,canvasW,canvasH);
g.setFont(lowFont);
g.setColor(0x00000000);
for(int i=0;i<strGamehelp.length;i++){
g.drawString(strGamehelp[i],5,5+(lowFont.getHeight()+3)*i,Graphics.TOP|Graphics.LEFT);
}
}
在keyPressed方法中的switch結構中添加
case GAMESTATE_HELP://如果游戲現在的狀態為幫助狀態,那個不管玩家按哪個鍵都會跳轉到主菜單狀態
gamestate=GAMESTATE_MENU;
break;
游戲主界面
主界面的繪制分成幾個部分,一個是雷區棋盤的繪制,根據雷區二位數組中的每一個Bomb對象中的變量值繪出整個棋盤,如果hasFound值為false,畫出;如果hasFound值為true且isBomb值為false,那麼會畫出這個雷位周圍的雷數、、、、、、;如果hasFound值為true且isBomb值為true,那麼會畫出這個雷位是哪一個玩家所挖出的,分別是和。第二個部分是玩家的選擇框。第三個部分是游戲的信息框,也就是兩個玩家目前的分值,還剩幾顆雷,信息框的圖片為。最後一個部分是提示當前輪到哪一個玩家掃雷,在雷區的外框用玩家的顏色提示,和在信息框中畫出玩家的旗幟和。