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

📄 ictankcanvas.java.bak

📁 本j2me坦克游戏是在Nokia平台下开发的
💻 BAK
📖 第 1 页 / 共 5 页
字号:
    }

    protected void paint(Graphics g) {
        switch(gameStatus) {
            case 1:	//title
                titlePaint(g);
                break;
            case 2:	//intro
                introPaint(g);
                break;
            case 3:	//game
                gamePaint(g);
                break;
            case 4:	//result
                resultPaint(g);
                break;
            case 5:	//game over
            default:
                break;
        }
//        repaint(0, 0, getWidth(), getHeight());
    }

    public void keyPressed(int keyCode) {
        int j = getGameAction(keyCode);
        switch(gameStatus) {
            case 1:	//title

                    switch(keyCode){
                    case -7:
                        paused1 = true;
                        parent.showOption();

		                    break;
		                default: break;
		              }

            case 2:	//Game Select
                if (gameSubStatus == 3 ){
                    switch(j) {
                        case Canvas.LEFT:
                        case Canvas.UP:
                            if(gameSelect > 1)
                                gameSelect --;
                            else
                                gameSelect = 2;
                            break;

                        case Canvas.RIGHT:
                        case Canvas.DOWN:
                            if(gameSelect < 2)
                                gameSelect ++;
                            else
                                gameSelect = 1;
                            break;

                        case Canvas.FIRE:
                            if( gameSelect == 1 )
                                gameSubStatus = 4;

                            if( gameSelect == 2 )
                                gameSubStatus = 5;

                            default:
                                break;
                    }
                } else if (gameSubStatus == 6 ){
                    switch(j) {
                        case Canvas.LEFT:
                            if(passPos > 1)
                                passPos --;
                            else
                                passPos = 5;
                            break;
                        case Canvas.RIGHT:
                            if(passPos < 5)
                                passPos ++;
                            else
                                passPos = 1;
                            break;
                        case Canvas.UP:
                            if(passPos < 5){
	                            if (password[passPos - 1]=='0')
	                                password[passPos - 1] = 'z';
	                            else if (password[passPos - 1]=='a')
	                                password[passPos - 1] = 'Z';
	                            else if (password[passPos - 1]=='A')
	                                password[passPos - 1] = '9';
	                            else
	                                password[passPos - 1] --;
                            }
                            break;

                        case Canvas.DOWN:
                            if(passPos < 5){
	                            if (password[passPos - 1]=='z')
	                                password[passPos - 1] = '0';
	                            else if (password[passPos - 1]=='Z')
	                                password[passPos - 1] = 'a';
	                            else if (password[passPos - 1]=='9')
	                                password[passPos - 1] = 'A';
	                            else
	                                password[passPos - 1] ++;
	                        }
                            break;

                        case Canvas.FIRE:
                            if( passPos == 5 )
                                gameSubStatus = 7;
                            else
                                    passPos = 5;

                            default:
                                break;
                    }
                } else if (gameSubStatus == 9){
                    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 = pasLevel;
                            }
                            break;
                        case Canvas.DOWN:
                        	if(passPos == 1){
	                            if(level < pasLevel)
	                                level ++;
	                            else
	                                level = 1;
	                        }
                            break;

                        case Canvas.FIRE:
                            if( passPos == 2 )
                                gameSubStatus = 10;
                            else
                                passPos = 2;

                            default:
                                break;
                    }
                }

                break;
            case 3:	//game
              if(!showLevel){
                switch (keyCode) {
                  case -7:
                    if (paused1 == false) {
                      paused1 = true;
                      pauseStart = true;
                    }
                    else {
                      paused1 = false;
                      pauseStart = false;
                      pauseBack = true;
                    }
                    break;
                  case -6:
                    try {
                      parent.destroyApp(false);
                      parent.notifyDestroyed();
                    }
                    catch (MIDletStateChangeException ex) {}
                  default:
                    break;
                }
                switch (j) {
                  case Canvas.LEFT:
                    if (canmove)
                      hero.direction = 0x11;
                    break;

                  case Canvas.RIGHT:
                    if (canmove)
                      hero.direction = 0x12;
                    break;

                  case Canvas.UP:
                    if (canmove)
                      hero.direction = 0x13;
                    break;

                  case Canvas.DOWN:

                    // paused1 = false;
                    // System.out.println("paused1 = false;");
                    if (canmove)
                      hero.direction = 0x14;
                    break;

                  case Canvas.FIRE:

                    // paused1 = true;
                    // System.out.println("paused1 = true;");
                    if ( (!hero.shootFlag) && (hero.status <= 1) && (canmove)) {
                      hero.shootFlag = true;
                      //           if(s.getState() == 1){
                      sD[1].stop();
                      sD[0].stop();
                      sD[1].play(1);
                      //           }
                      hero.bulletNo = 0;
                      fireBullet(0, hero.direction, hero.posX, hero.posY, 3);
                    }
                    break;
                  default:
                    break;
                }
              }

                break;


            case 4:	//result
                if (gameSubStatus == 3)
                    gameSubStatus ++;
                else if (gameSubStatus == 5){
                    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 (gameWin){
                                    level ++;
                                    if(level>20){
                                        level = 1;
                                    }
                                    initLevel();
                                    setLevel(level);
                                    gameStatus = 3;
                                    gameSubStatus = 1;
                                } else {
                                    life = 3;
                                    initLevel();
                                    setLevel(level);
                                    gameStatus = 3;
                                    gameSubStatus = 1;
                                }
                            } else if( gameSelect == 2 ){
                                gameStatus = 2;
                                gameSubStatus = 1;
                                gameSelect = 1;
                            }else if( gameSelect == 3 )
                                parent.exitRequested();

                            default:
                                break;
                    }

                }
                break;
            case 5:	//game over
            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;
        }
    }

    protected void pointerPressed(int x, int y){
    }//end pointerPressed()

    private void titlePaint(Graphics g) {
        title_y = (height - logo2.getHeight()-logo3.getHeight()-8)/2;
        switch(gameSubStatus) {
            case 1:
                g.setColor(0xffffff);
                g.fillRect(0, 0, width, height);

                title_x = -logo1.getWidth();

                gameSubStatus ++;
                g.setColor(0);
	            g.setFont(Font.getFont(Font. FACE_PROPORTIONAL,  Font.STYLE_PLAIN, Font.SIZE_MEDIUM));
	            g.drawString("选项", width-fontWidth, height-fontHeight, 20);

                break;

            case 2:
                g.setColor(0xffffff);
                g.fillRect(0, title_y+(logo3.getHeight()-logo1.getHeight()), width, logo1.getHeight());

                g.drawImage(logo1, title_x, title_y+(logo3.getHeight()-logo1.getHeight()), g.TOP|g.LEFT);

                if ( title_x < ( width-logo1.getWidth() )/2 )
                    title_x += 12;
                else {
                    g.drawImage(logo1, ( width-logo1.getWidth() )/2, title_y+(logo3.getHeight()-logo1.getHeight()), g.TOP|g.LEFT);
                    gameSubStatus ++;
                    title_x = width;
                }

                g.setColor(0);
	            g.setFont(Font.getFont(Font. FACE_PROPORTIONAL,  Font.STYLE_PLAIN, Font.SIZE_MEDIUM));
	            g.drawString("选项", width-fontWidth, height-fontHeight, 20);

                break;

            case 3:
                g.setColor(0xffffff);
                g.fillRect(0, title_y+logo3.getHeight()+8, width, logo2.getHeight());

                g.drawImage(logo2, title_x, title_y+logo3.getHeight()+8, g.TOP|g.LEFT);

                if ( title_x > ( width-logo2.getWidth() )/2 )
                    title_x -= 8;
                else {
                    gameSubStatus ++;
                    ictimer.timeCounter = 0;
                    g.drawImage(logo3, (width-logo1.getWidth())/2+66, title_y, g.TOP|g.LEFT);
                    //g.drawImage(logo3, (width+logo1.getWidth())/2, height/2-(logo3.getHeight()-logo1.getHeight()), g.TOP|g.LEFT);
                    //title_x = width;
                }

                g.setColor(0);
	            g.setFont(Font.getFont(Font. FACE_PROPORTIONAL,  Font.STYLE_PLAIN, Font.SIZE_MEDIUM));
	            g.drawString("选项", width-fontWidth, height-fontHeight, 20);

                break;

            case 4:
                if ( ictimer.timeCounter > 3 ){
                    gameSubStatus ++;

⌨️ 快捷键说明

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