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

📄 level.java

📁 Critter_Crunch_J2ME 游戏源
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                  s_player.process();
                  break;

               case STATE_BOARD_FALL:
                  processPlayfield();
                  break;

               case STATE_PRESS_OK:
                  // wait for user input
                  break;

               case STATE_ACTIVE:
                  if(s_level_bar == 0 && checkBoard(BOARD_IDLE) && !extras() && ((s_player.m_state & Avatar.STATE_TONGUE_DRAG) == 0) && ((s_player.m_state & Avatar.STATE_TONGUE_FLICK) == 0)) {
                     s_level_bar = 0;
                     s_board_state |= (BOARD_LEVEL_COMPLETE);
                     s_player.setAnim(Anims.BIGGS_HOP_LEFT);
                     s_clock = 0;
                     //#if DefaultConfiguration || Nokia_6600 || Nokia_6600_Unobfuscated || Nokia_3220 || Nokia_3220_Unobfuscated || Razr
                     if((s_number + 1) % BG_ADVENTURE_DIVISOR == 0) {
                        s_state = STATE_JEWELS_INTRO;
                     }
                     else {
                        s_clock = 0;
                        s_state = STATE_OUTRO;
                     }
                     //s_state = STATE_JEWELS_INTRO;
                     //#else
//#                      if((s_number + 1) % BG_ADVENTURE_DIVISOR == 0) {
//#                         s_state = STATE_JEWELS_INTRO;
//#                      }
//#                      else {
//#                         s_clock = 0;
//#                         s_state = STATE_OUTRO;
//#                      }
                     //#endif
                     s_player.m_in_mouth = null;
                     Engine.playSound(Engine.SOUND_LEVEL_WIN);
                  }
                  else {
                     recountCreatures();
                     processTimers();
                     processPlayfield();
                     processExtras();
                     s_player.process();
                     processDescent();
                  }
                  break;

               case STATE_JEWELS_INTRO:
                  processPlayfield();
                  if(s_clock >= TIME_JEWELS_INTRO && ((s_player.m_state & Avatar.STATE_TONGUE_DRAG) == 0) && ((s_player.m_state & Avatar.STATE_TONGUE_FLICK) == 0)) {
                     s_player.m_in_mouth = null;
                     s_player.setAnim(Anims.BIGGS_IDLE_LEFT);
                     s_coin_timer = 0;
                     s_jewel_column = s_player.m_board_x;
                     s_jewel_board_offset = (byte)(s_jewel_column < s_board[0].length / 2 ? 2 : -2);
                     int jewel_offset = Engine.getRandom(MIN_JEWEL_OFFSET);
                     for(int i = 0; i < MAX_EXTRAS; i++) {
                        dropBonusJewel(jewel_offset);
                        jewel_offset += Engine.getRandom(MIN_JEWEL_OFFSET, MAX_JEWEL_OFFSET);
                     }
                     s_state = STATE_JEWELS_ACTIVE;
                  }
                  else {
                     processExtras();
                  }

                  // jewel shower title effect
                  if (s_clock == TIME_JEWELS_INTRO/4) {
                     Engine.stringBufferClear();
                     Engine.stringBufferAppend(Locale.BONUS);
                     Particles.textEffect(Particles.TYPE_TEXT_SLIDE_LEFT, Particles.LAYER_HUD, Engine.SCREEN_HALF_WIDTH<<Engine.FP_SHIFT, (Engine.SCREEN_HALF_HEIGHT-Engine.CUSTOM_FONT_BIG_NEWLINE_HEIGHT)<<Engine.FP_SHIFT);
                     Engine.stringBufferClear();
                     Engine.stringBufferAppend(Locale.JEWELSHOWER);
                     Particles.textEffect(Particles.TYPE_TEXT_SLIDE_RIGHT, Particles.LAYER_HUD, Engine.SCREEN_HALF_WIDTH<<Engine.FP_SHIFT, Engine.SCREEN_HALF_HEIGHT<<Engine.FP_SHIFT);
                  }
                  break;

               case STATE_JEWELS_ACTIVE:
                  processExtras();
                  s_player.process();
                  if(!extras() && s_player.m_in_mouth == null && ((s_player.m_state & Avatar.STATE_TONGUE_DRAG) == 0) && ((s_player.m_state & Avatar.STATE_TONGUE_FLICK) == 0)) {
                     s_player.setAnim(Anims.BIGGS_HOP_LEFT);
                     s_clock = 0;
                     s_state = STATE_OUTRO;

                     //tira smudreivsky - fixes win sound after jewel level
                     Engine.playSound(Engine.SOUND_LEVEL_WIN);
                     //<-

                  }
                  break;

               case STATE_OUTRO:
                  processPlayfield();
                  if(s_clock >= TIME_LEVEL_OUTRO) {
                     flyBiggsOut();
                  }
                  break;

               case STATE_BIGGS_FLY:
                  s_player.process();

                  if( ((s_player.m_state & Entity.STATE_ASCENDING) == 0) && s_clock >= TIME_BIGGS_EXIT ) {
                     setupScoreScreen();
                  }
                  break;

               case STATE_SCORE:
                  s_player.process();
                  break;

               case STATE_GAME_OVER:
                  if(s_clock == TIME_FAILED) {
                     Menus.startMenu(Menus.MENU_LOSE);
                  }

                  processPlayfield();
                  s_player.process();
                  break;
            }
            break;

         case TYPE_PUZZLE:
            switch(s_state) {

               case STATE_INTRO:
                  s_state = STATE_BIGGS_FALL;
                  break;

               case STATE_BIGGS_FALL:
                  s_player.process();
                  break;

               case STATE_BOARD_FALL:
                  processPlayfield();
                  break;

               case STATE_PRESS_OK:
                  // wait for user input
                  break;

               case STATE_ACTIVE:
                  recountCreatures();

                  if(s_creature_count == 0 && s_player.m_in_mouth == null && !extras() && ((s_player.m_state & Avatar.STATE_TONGUE_DRAG) == 0) && ((s_player.m_state & Avatar.STATE_TONGUE_FLICK) == 0)) {
                     S_COMPLETED_PUZZLES[s_number] = true;
                     //Engine.saveGameToRecordStore();
                     s_state = STATE_OUTRO;
                     s_clock = 0;
                     s_board_state |= (BOARD_LEVEL_COMPLETE);
                     s_player.setAnim(Anims.BIGGS_HOP_LEFT);
                     Engine.playSound(Engine.SOUND_LEVEL_WIN);
                  }
                  else if(s_creature_count != 0 && !extras() && (s_level_bar == 0 || checkBoard(BOARD_BLOCKERS)) && checkBoard(BOARD_IDLE | BOARD_NOSPACES)) {
                     s_clock = 0;
                     s_board_state |= (BOARD_GAME_OVER);
                     s_state = STATE_GAME_OVER;
                     s_player.m_state |= Avatar.STATE_SCARED;
                     Engine.playSound(Engine.SOUND_LEVEL_LOSE);

                     // lose message
                     Engine.stringBufferClear();
                     Engine.stringBufferAppend(Locale.PUZZLE_LOSE_A);
                     Particles.textEffect(Particles.TYPE_TEXT_SLIDE_LEFT, Particles.LAYER_HUD, Engine.SCREEN_HALF_WIDTH<<Engine.FP_SHIFT, (Engine.SCREEN_HALF_HEIGHT-Engine.CUSTOM_FONT_BIG_NEWLINE_HEIGHT)<<Engine.FP_SHIFT);
                     Engine.stringBufferClear();
                     Engine.stringBufferAppend(Locale.PUZZLE_LOSE_B);
                     Particles.textEffect(Particles.TYPE_TEXT_SLIDE_RIGHT, Particles.LAYER_HUD, Engine.SCREEN_HALF_WIDTH<<Engine.FP_SHIFT, Engine.SCREEN_HALF_HEIGHT<<Engine.FP_SHIFT);
                  }
                  else {
                     processPlayfield();
                     processExtras();
                     s_player.process();
                     processDescent();
                  }
                  break;

               case STATE_OUTRO:
                  if(s_clock < TIME_LEVEL_OUTRO) {
                     processPlayfield();
                     processExtras();
                     s_player.process();
                  }
                  else {
                     flyBiggsOut();
                  }
                  break;

               case STATE_BIGGS_FLY:
                  s_player.process();

                  if( ((s_player.m_state & Entity.STATE_ASCENDING

⌨️ 快捷键说明

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