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

📄 tankcanvas.java

📁 J2ME手机游戏源码 整个游戏有八个类组成: &#61548 主类:TankMIDlet &#61548 敌人坦克:Enemy &#61548 图片池:EnemyPool &#61548
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                    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 + -