📄 gamecanvas_1.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 + -