⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamecanvas_1.java

📁 梦幻手机迷宫游戏,J2ME完整的手机游戏范例程式
💻 JAVA
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;

public class gameCanvas extends Canvas
{
    private final mobileMAP midletCanvas;
    private int gameaction, getMAP, mapX, mapY;
    private Image houseImage, keyImage;
    private Image[] mapImage, shipImage;
    private boolean shipGO, houseStatus, keyStatus; 
    private int ship, X, Y;
    private InputStream inputmap; 
    private String[][] viewmap;

    public gameCanvas(mobileMAP midletCanvas)
    {
       this.midletCanvas=midletCanvas;
       mapImage=new Image[3];
       shipImage=new Image[2];
       try{
           houseImage=Image.createImage("/house.png");
           keyImage=Image.createImage("/key.png");
           mapImage[0]=Image.createImage("/map1.png");
           mapImage[1]=Image.createImage("/map2.png");
           mapImage[2]=Image.createImage("/map3.png");
           shipImage[0]=Image.createImage("/ship1.png");
           shipImage[1]=Image.createImage("/ship2.png");
       }catch(Exception ex){}
       viewmap=new String[11][9];
       readFileMap();
    }

    public void keyPressed(int keyCode)
    { 
      gameaction=getGameAction(keyCode);
      switch(gameaction)
      {
        case UP:
             Y--;
             if(Y<0) Y=0;
             checkGO(X,Y);
             if(!shipGO && Y>=0) Y++; 
             repaint();             
             break;
        case DOWN:             
             Y++;
             if(Y>10) Y=10;
             checkGO(X,Y);
             if(!shipGO && Y<11) Y--; 
             repaint();
             break;
        case LEFT:
             ship=1;
             X--;
             if(X<0) X=0;
             checkGO(X,Y);
             if(!shipGO && X>=0) X++; 
             repaint();
             break;
        case RIGHT:
             ship=0;
             X++;
             if(X>8) X=8;
             checkGO(X,Y);
             if(!shipGO && X<9) X--;  
             repaint();
             break;
        case FIRE:
             break;
      } 
    }

    public void paint(Graphics g)
    {
       g.setColor(0xffffff);
       g.fillRect(0,0,getWidth(),getHeight());
       for(int i=0; i<11; i++){
         for(int j=0; j<9; j++){  
           if(viewmap[i][j].equals("1") || viewmap[i][j].equals("4") || viewmap[i][j].equals("5"))    
             g.drawImage(mapImage[0], 20*j, 15*i, Graphics.LEFT | Graphics.TOP); 
           if(viewmap[i][j].equals("2")) 
             g.drawImage(mapImage[1], 20*j, 15*i, Graphics.LEFT | Graphics.TOP); 
           if(viewmap[i][j].equals("3")) 
             g.drawImage(mapImage[2], 20*j, 15*i, Graphics.LEFT | Graphics.TOP); 
           if(viewmap[i][j].equals("4")) 
             g.drawImage(houseImage, 20*j, 15*i, Graphics.LEFT | Graphics.TOP);
           if(viewmap[i][j].equals("5") && !keyStatus) 
             g.drawImage(keyImage, 2+20*j, 2+15*i, Graphics.LEFT | Graphics.TOP);  
         }
       }
       g.drawImage(shipImage[ship], 2+20*X, 15*Y, Graphics.LEFT | Graphics.TOP);
  
       g.setColor(0x000080);
       if(houseStatus)
         g.drawString("材

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -