📄 tankcanvas.java
字号:
if(isWin){
totalMark = totalMark + totalMark1;
}else{
totalMark = 0;
}
switch(ResultCnt){
case 35:
g.setColor(0x00, 0x00, 0xfe);
g.drawString("按任意键下一步", CanvasWidth/2, CanvasHeight/8*7, g.TOP|g.HCENTER);
g.setColor(0xff8080);
case 30:
g.drawString("总共",mapOffsetX+mapWidth/4+15, mapOffsetY+70+5*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(total) ,mapOffsetX+3*mapWidth/8+20, mapOffsetY+70+5*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(totalMark1),mapOffsetX+mapWidth/8, mapOffsetY+70+5*fontHeight, g.TOP|g.HCENTER);
case 25:
g.drawLine(mapOffsetX + mapWidth / 20,
mapOffsetY+60+5*fontHeight,
mapOffsetX + 3 * mapWidth / 4 + 30 ,
mapOffsetY+60+5*fontHeight);
case 20:
g.drawString(String.valueOf(superNum*400), mapOffsetX+mapWidth/8, mapOffsetY+40+5*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(superNum), mapOffsetX+3*mapWidth/8+17, mapOffsetY+40+5*fontHeight, g.TOP|g.HCENTER);
case 15:
g.drawString(String.valueOf(greenNum*300), mapOffsetX+mapWidth/8, mapOffsetY+30+4*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(greenNum), mapOffsetX+3*mapWidth/8+17, mapOffsetY+30+4*fontHeight, g.TOP|g.HCENTER);
case 10:
g.drawString(String.valueOf(redNum*200), mapOffsetX+mapWidth/8, mapOffsetY+20+3*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(redNum), mapOffsetX+3*mapWidth/8+17, mapOffsetY+20+3*fontHeight, g.TOP|g.HCENTER);
case 5:
g.drawString(String.valueOf(normalNum*100), mapOffsetX+mapWidth/8, mapOffsetY+10+2*fontHeight, g.TOP|g.HCENTER);
g.drawString(String.valueOf(normalNum), mapOffsetX+3*mapWidth/8+17, mapOffsetY+10+2*fontHeight, g.TOP|g.HCENTER);
default:
break;
}
break;
case 2:
gameSubStatus = 3;
gameSelect = 1;
if (isWin&&level == 20 )
gameSubStatus = 4;
g.setColor(0x00);
g.fillRect(0, 0, CanvasWidth, CanvasHeight);
break;
case 3:
g.setColor(0xffffff);
g.fillRect(0, 0, CanvasWidth, CanvasHeight);
g.setColor(0);
g.setFont(font);
if (isWin)
g.drawString("恭喜过关!", CanvasWidth/2, mapOffsetY+mapHeight/6, g.TOP|g.HCENTER);
else
g.drawString("任务失败!", CanvasWidth/2, mapOffsetY+mapHeight/6, g.TOP|g.HCENTER);
switch(gameSelect) {
case 1:
if (isWin)
g.drawImage(next2, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
else
g.drawImage(again2, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
g.drawImage(back1, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*2+10, g.TOP|g.HCENTER);
g.drawImage(exit1, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*4+10, g.TOP|g.HCENTER);
break;
case 2:
if (isWin)
g.drawImage(next1, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
else
g.drawImage(again1, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
g.drawImage(back2, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*2+10, g.TOP|g.HCENTER);
g.drawImage(exit1, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*4+10, g.TOP|g.HCENTER);
break;
case 3:
if (isWin)
g.drawImage(next1, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
else
g.drawImage(again1, CanvasWidth/2, mapOffsetY+mapHeight/3+10, g.TOP|g.HCENTER);
g.drawImage(back1, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*2+10, g.TOP|g.HCENTER);
g.drawImage(exit2, CanvasWidth/2, mapOffsetY+mapHeight/3+fontHeight*4+10, g.TOP|g.HCENTER);
default:
break;
}
break;
case 4:
imgMedal = createImage("/medal.png");
g.setColor(0xffffff);
g.fillRect(0, 0, CanvasWidth, CanvasHeight);
g.drawImage(imgMedal, (CanvasWidth-imgMedal.getWidth())/2, (CanvasHeight-imgMedal.getHeight())/2, g.TOP|g.LEFT);
g.setColor(0);
g.setFont(font);
g.drawString("你是英雄!", CanvasWidth/2, (CanvasHeight+imgMedal.getHeight())/2, 17);
break;
default:
break;
}
}
private void drawOption(Graphics g)
{
g.setColor(0x0);
g.fillRect(0, 0, CanvasWidth, CanvasHeight);
for (int i = 0; i < 5; i++)
{
g.setColor(0x7f + i * 10, 0x7f + i * 10, 0x7f + i * 10);
g.drawRect(50+i, 6+CanvasHeight / 3+i, CanvasWidth - 100-i * 2,
CanvasHeight - CanvasHeight / 3 * 2-i * 2);
}
g.setColor(0xffffff);
g.setFont(font);
g.drawString("选关", CanvasWidth / 2, CanvasHeight / 4, g.TOP |
g.HCENTER);
g.setColor(0x0);
g.fillRect(56, CanvasHeight / 2, CanvasWidth - 100-10, fontHeight);
g.setColor(0xffffff);
g.drawString("关数", CanvasWidth / 2-35, CanvasHeight / 2, g.TOP |
g.LEFT);
if (passPos == 1)
g.setColor(0xfe, 0x3f, 0x00);
else
g.setColor(0xff, 0xff, 0xfe);
g.drawString("" + level + "", CanvasWidth / 2+14, CanvasHeight / 2,
g.TOP | g.RIGHT);
if (passPos == 2)
g.setColor(0xfe, 0x3f, 0x00);
else
g.setColor(0xff, 0xff, 0xfe);
g.drawString("OK", CanvasWidth / 2+40, CanvasHeight / 2, g.TOP |
g.RIGHT);
}
private void drawAbout(Graphics g)
{
Image imgAbout = createImage("/about.png");
g.drawImage(imgAbout, 0, 0, 20);
}
public void keyPressed(int keyCode)
{
int j = getGameAction(keyCode);
switch (gameStatus)
{
case 1:
break;
case 2:
gameStatus = 3;
gameSubStatus = 1;
break;
case 3:
if (gameSubStatus == 3)
inputMenu(j);
break;
case 4:
inputGame(keyCode);
break;
case 5:
inputResult(j);
break;
case 6:
inputOption(j);
break;
case 7:
switch (keyCode)
{
case - 7:
gameStatus = 3;
gameSubStatus = 3;
break;
default:
break;
}
default:
break;
}
}
public void keyReleased(int keyCode) {
int j = getGameAction(keyCode);
switch(j) {
case Canvas.LEFT:
case Canvas.RIGHT:
case Canvas.UP:
case Canvas.DOWN:
hero.direction = hero.direction & 0x0f;
default:
return;
}
}
private void inputMenu(int j)
{
switch (j)
{
case Canvas.LEFT:
case Canvas.UP:
if (gameSelect > 1)
gameSelect--;
else
gameSelect = 4;
break;
case Canvas.RIGHT:
case Canvas.DOWN:
if (gameSelect < 4)
gameSelect++;
else
gameSelect = 1;
break;
case Canvas.FIRE:
if (gameSelect == 1){
life = 3;
setLevel(level);
gameStatus = 4;
gameSubStatus = 1;
}
if (gameSelect == 2)
gameStatus = 6;
if (gameSelect == 3)
gameStatus = 7;
if (gameSelect == 4)
midlet.exitRequested();
break;
default:
break;
}
}
private void inputResult(int j)
{
if (gameSubStatus == 1)
gameSubStatus ++;
else if (gameSubStatus == 3){
switch(j) {
case Canvas.LEFT:
case Canvas.UP:
if(gameSelect > 1)
gameSelect --;
else
gameSelect = 3;
break;
case Canvas.RIGHT:
case Canvas.DOWN:
if(gameSelect < 3)
gameSelect ++;
else
gameSelect = 1;
break;
case Canvas.FIRE:
if( gameSelect == 1 ){
if (isWin){
level ++;
if(level>20){
level = 1;
}
setLevel(level);
gameStatus = 4;
gameSubStatus = 1;
} else {
life = 3;
setLevel(level);
gameStatus = 4;
gameSubStatus = 1;
}
} else if( gameSelect == 2 ){
gameStatus = 3;
gameSubStatus = 1;
gameSelect = 1;
}else if( gameSelect == 3 )
midlet.exitRequested();
ResultCnt = 0;
default:
break;
}
}else if(gameSubStatus == 4){
gameStatus = 3;
gameSubStatus = 1;
gameSelect = 1;
}
}
private void inputOption(int j)
{
switch (j)
{
case Canvas.LEFT:
if (passPos > 1)
passPos--;
else
passPos = 2;
break;
case Canvas.RIGHT:
if (passPos < 2)
passPos++;
else
passPos = 1;
break;
case Canvas.UP:
if (passPos == 1)
{
if (level > 1)
level--;
else
level = MAX_LEVEL;
}
break;
case Canvas.DOWN:
if (passPos == 1)
{
if (level < MAX_LEVEL)
level++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -