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

📄 game.java

📁 初学者的佳音 初学者的佳音 初学者的佳音 初学者的佳音 初学者的佳音
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      else{
        player.setVelocityY(-9);
        sprite.setAct(Sprite.ACT_DEAD);
        score+=200;
        addLife();
      }
    }
    //撞老虎
    else if(sprite instanceof Tiger){
      if(player.getVelocityY()<=0){
        player.setAct(Sprite.ACT_DEAD);
      }
      else{
        player.setVelocityY(-9);
        if(((Tiger)sprite).removeLife()==0)
          sprite.setAct(Sprite.ACT_DEAD);
        score+=200;
        addLife();
      }
    }
    //撞鳄鱼
    else if(sprite instanceof Cayman){
      if(!((Cayman)sprite).isDown()){
        player.setVelocityY(-12);
      }
    }
    //撞Boss猴子
    else if(sprite instanceof BossUnfixedMonkey){
      if(player.getVelocityY()<=0){
        player.setAct(Sprite.ACT_DEAD);
      }
      else{
        player.setVelocityY(-9);
        if(((BossUnfixedMonkey)sprite).removeLife()==0)
          sprite.setAct(Sprite.ACT_DEAD);
        score+=200;
        addLife();
      }
    }
    //撞Boss老虎
    else if(sprite instanceof BossTiger){
      if(player.getVelocityY()<=0){
        player.setAct(Sprite.ACT_DEAD);
      }
      else{
        player.setVelocityY(-9);
        if(((BossTiger)sprite).removeLife()==0)
          sprite.setAct(Sprite.ACT_DEAD);
        score+=200;
        addLife();
      }
    }
    //撞Boss鳄鱼
    else if(sprite instanceof BossCayman){
      if(!((BossCayman)sprite).isDown()){
        player.setVelocityY(-12);
        if(((BossCayman)sprite).removeLife()==0)
          sprite.setAct(Sprite.ACT_DEAD);
        score+=200;
        addLife();
      }
    }
  }
  //键按下
  public void keyPressed(int keyCode){
    switch(state){
      case STATE_SWITCHIN:
        break;
      case STATE_RUN:
        switch(keyCode){
          //向上跳
          case XCanvas.KEY_UP:
          case XCanvas.KEY_NUM2:
            if(player.getAct()!=Sprite.ACT_JUMP){
              getPlayer().setVelocityY(-11);
            }
            break;
          //向左跳
          case XCanvas.KEY_NUM1:
            if(player.getAct()!=Sprite.ACT_JUMP){
              getPlayer().setVelocityY(-11);
              getPlayer().setVelocityX(-2);
            }
            break;
          //向左跳
          case XCanvas.KEY_NUM3:
            if(player.getAct()!=Sprite.ACT_JUMP){
              getPlayer().setVelocityY(-11);
              getPlayer().setVelocityX(2);
            }
            break;
          //暂停
          case XCanvas.KEY_SOFT1:
            pause=!pause;

            if(pause){
              if(resource.isMIPD2_0)
                resource.backMedia.pause();
            }
            else{
              if(resource.isMIPD2_0)
                resource.backMedia.resume();
            }
            break;
          //呼出菜单
          case XCanvas.KEY_SOFT2:
            if(!pause){
              state=STATE_MENU;
              menuIndex=0;
              if(resource.isMIPD2_0)
                resource.backMedia.pause();
            }
            break;
        }
        break;
      case STATE_MENU:
        switch(keyCode){
          case XCanvas.KEY_LEFT:
          case XCanvas.KEY_NUM4:
          case XCanvas.KEY_RIGHT:
          case XCanvas.KEY_NUM6:
            menuIndex=(menuIndex+1)%2;
            break;
          case XCanvas.KEY_SOFT1:
            if(menuIndex==1){
              //写排行榜数据和关卡信息
              resource.setGateData(level,score);
              resource.addHiscoreData(score);
              resource.saveData();
              switch(level){
                case 0:
                  resource.releaseLevel1Game();
                  break;
                case 1:
                  resource.releaseLevel2Game();
                  break;
                case 2:
                  resource.releaseLevel3Game();
                  break;
              }
              resource.loadMenu();
              getFrameManager().setCurrFrame(menu);
              //关声音
              if(resource.isMIPD2_0)
                resource.backMedia.stop();
            }
            else{
              state=STATE_RUN;
              //关声音
              if(resource.isMIPD2_0)
                resource.backMedia.resume();
            }
            break;
          case XCanvas.KEY_SOFT2:
            state=STATE_RUN;
            //关声音
            if(resource.isMIPD2_0)
              resource.backMedia.resume();
            break;
        }
        break;
      case STATE_WIN:
        break;
      case STATE_LOSE:
        break;
      case STATE_SWITCHOUT:
        break;
    }
  }
  //键松开
  public void keyReleased(int keyCode){
    switch(state){
     case STATE_SWITCHIN:
      break;
    case STATE_RUN:
      switch(keyCode){
      case XCanvas.KEY_LEFT:
      case XCanvas.KEY_NUM4:
      case XCanvas.KEY_RIGHT:
      case XCanvas.KEY_NUM6:
        getPlayer().setVelocityX(0);
        break;
      }
      break;
    case STATE_MENU:
      break;
    case STATE_WIN:
      break;
    case STATE_LOSE:
      break;
    case STATE_SWITCHOUT:
      break;
    }
  }
  //画数据
  public void paintData(Graphics g){
    int i;
    //画生命
    for(i=0;i<life;i++){
      Toolkit.drawRegion(g,resource.imgProp,9,11,11,9,5+i*12,5);
    }
    //画分数
    Toolkit.analyzeNum2(score,scoreBuff);
    for(i=0;i<scoreBuff.length;i++){
      Toolkit.drawRegion(g,resource.imgProp,scoreBuff[i]*8,0,8,10,XCanvas.WIDTH-5-scoreBuff.length*8+i*8,5);
    }
  }
  //画场景切入
  public void paintSwitchIn(Graphics g){
    g.setColor(0,0,0);
    for(int i=0;i<8;i++){
      g.fillRect(0,i*XCanvas.HEIGHT/8+(XCanvas.HEIGHT/8-curtainHeight)/2,XCanvas.WIDTH,curtainHeight);
    }
  }
  //画场景切出
  public void paintSwitchOut(Graphics g){
    g.setColor(0,0,0);
    for(int i=0;i<8;i++){
      g.fillRect(0,i*XCanvas.HEIGHT/8+(XCanvas.HEIGHT/8-curtainHeight)/2,XCanvas.WIDTH,curtainHeight);
    }
  }
  //画胜利
  public void paintWin(Graphics g){
    Toolkit.drawRegion(g,resource.imgText,0,0,55,27,(XCanvas.WIDTH-55)/2,(XCanvas.HEIGHT-27)/2);
  }
  //画失败
  public void paintLose(Graphics g){
    if(gameTime.getCurrTime()==0)
      Toolkit.drawRegion(g,resource.imgText,0,75,91,27,(XCanvas.WIDTH-91)/2,(XCanvas.HEIGHT-27)/2);
    else
      Toolkit.drawRegion(g,resource.imgText,0,28,55,27,(XCanvas.WIDTH-55)/2,(XCanvas.HEIGHT-27)/2);
  }
  //画菜单
  public void paintMenu(Graphics g){
    Toolkit.drawRegion(g,resource.imgGameMenu,0,35,140,27,(XCanvas.WIDTH-140)/2,(XCanvas.HEIGHT-27)/2);
    if(menuIndex==1){
      Toolkit.drawRegion(g,resource.imgGameMenu,0,0,77,15,(XCanvas.WIDTH-77)/2,(XCanvas.HEIGHT-15)/2);
    }
    else{
      Toolkit.drawRegion(g,resource.imgGameMenu,0,17,77,15,(XCanvas.WIDTH-77)/2,(XCanvas.HEIGHT-15)/2);
    }
  }
  //画run
  public void paintRun(Graphics g){
    Object object;
    if(getReel()==REEL_SINGLE && getBossCount()>0){
      int posX=15;
      int posY=XCanvas.HEIGHT-15;
      Enumeration e=getBoss().elements();
      while(e.hasMoreElements()){
        object=e.nextElement();
        if(object instanceof BossUnfixedMonkey){
          BossUnfixedMonkey bossUnfixedMonkey=(BossUnfixedMonkey)object;
          if(bossUnfixedMonkey.getNum()==0){
            posX=15;
            posY=XCanvas.HEIGHT-15;
          }
          else if(bossUnfixedMonkey.getNum()==1){
            posX=15+90;
            posY=XCanvas.HEIGHT-15;
          }
          Toolkit.drawRegion(g,resource.imgBlood,0,25,50,12,posX,posY);
          Toolkit.drawRegion(g,resource.imgBlood,0,38,35,3,posX+14,posY+6);
          Toolkit.drawRegion(g,resource.imgBlood,0,41,35*bossUnfixedMonkey.getLife()/10,3,posX+14,posY+6);
        }
        else if(object instanceof BossCayman){
          BossCayman bossCayman=(BossCayman)object;
          if(bossCayman.getNum()==0){
            posX=15;
            posY=XCanvas.HEIGHT-15;
          }
          else if(bossCayman.getNum()==1){
            posX=15+90;
            posY=XCanvas.HEIGHT-15;
          }
          Toolkit.drawRegion(g,resource.imgBlood,0,13,50,11,posX,posY);
          Toolkit.drawRegion(g,resource.imgBlood,0,38,35,3,posX+14,posY+4);
          Toolkit.drawRegion(g,resource.imgBlood,0,41,35*bossCayman.getLife()/20,3,posX+14,posY+4);
        }
        else if(object instanceof BossTiger){
          BossTiger bossTiger=(BossTiger)object;
          if(bossTiger.getNum()==0){
            posX=15;
            posY=XCanvas.HEIGHT-15;
          }
          else if(bossTiger.getNum()==1){
            posX=15+90;
            posY=XCanvas.HEIGHT-15;
          }
          Toolkit.drawRegion(g,resource.imgBlood,0,0,50,12,posX,posY);
          Toolkit.drawRegion(g,resource.imgBlood,0,38,35,3,posX+14,posY+6);
          Toolkit.drawRegion(g,resource.imgBlood,0,41,35*bossTiger.getLife()/10,3,posX+14,posY+6);
        }
      }
    }
  }
  public void paint(Graphics g){
    super.paint(g);
    paintData(g);

    switch(state){
     case STATE_SWITCHIN:
       paintSwitchIn(g);
      break;
    case STATE_RUN:
      paintRun(g);
      break;
    case STATE_MENU:
      paintMenu(g);
      break;
    case STATE_WIN:
      paintWin(g);
      break;
    case STATE_LOSE:
      paintLose(g);
      break;
    case STATE_SWITCHOUT:
      paintSwitchOut(g);
      break;
    }

    //画暂停
    if(pause){
      Toolkit.drawRegion(g,resource.imgText,0,56,47,18,(XCanvas.WIDTH-47)/2,(XCanvas.HEIGHT-18)/2);
    }
  }
}

⌨️ 快捷键说明

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